Plik binarny a plik tekstowy
Każdy plik jest plikiem binarnym. Każdy plik zawiera bity, czyli zera i jedynki ułożone w bajty. Każdy może być czytany czy zapisywany bajt po bajcie (czasem rekord po rekordzie).
Pliki tekstowe
Plik tekstowy, to plik binarny specjalizowany do przechowywania i prezentowania danych tekstowych.
Na ogół plik tekstowy zawiera:
- tekst ułożony w rzędach (liniach)
- zapis tekstu zawsze jest związany z określoną strona kodową. Tekst zapisany przy użyciu jednej strony kodowej może być częściowo nieczytelny przy odczytaniu w innej stronie kodowej. Komputer musi posiadać czcionki ekranowe i drukarkowe pozwalające na wyświetlanie znaków należących do użytej strony kodowej. Jeśli nie ma odpowiednich czcionek zobaczysz puste kwadraciki.
- dodatkowe znaki przypominające o czasach maszyn do pisania: EOL koniec linii, CR – przesunięcie karetki do początku linii, LF – przesunięcie karetki do następnej linii, etc.
- dodatkowe znaki formatujące
Znaki pisarskie (litery) mogą być zapisywane jako pojedyncze bajty, dwa bajty, a w szczególnych przypadkach nawet przy użyciu trzech bajtów.
Otwieranie plików
Rozszerzenie nazwy pliku informuje o typie informacji przechowywanej w pliku. Pliki tekstowe maja np. rozszerzenie .txt lub inne. Pliki obrazów np. rozszerzenie .jpg, itd.
Edytor obrazów na ogół nie pozwoli na otwarcie pliku tekstowego.
W edytorach tekstowych na ogół można obejrzeć zawartość pliku z dowolnym rozszerzeniem. Jeśli otworzysz plik .jpg czy .png zobaczysz robaczki. Jeśli otworzysz plik tekstowy zobaczysz widok tekstowy (pliku binarnego). W widoku tekstowym na ogół są wyświetlane wyłącznie znaki pisarskie, a pomijane wszelkie inne.
W widoku binarnym, na ogół są widoczne informacje tekstowe zawarte w pliku.
Podsumowanie
Niektórzy znawcy mówią wyłącznie o widoku binarnym i widoku tekstowym.
Uwagi
Na ogół początkujący programiści szukają takiego sposobu binarnego zapisu informacji tekstowej, żeby ten tekst nie był widoczny ani w widoku tekstowym ani w widoku binarnym. Niestety w języku Java nie ma takiej możliwości.
Nie zapewnia jej ani serializacja, ani zapis OutputData
.
Jak zatem ukryć tekst, aby był niewidoczny dla otwierającego plik? Jedyną możliwością jest zaszyfrowanie informacji, albo użycie steganografii lub innej podobnej metody. Można też skutecznie ukryć tekst w wieloplikowej bazie danych. Ale to już zupełnie inny temat.
Obrazki