Zielony Smok - logo witryny

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

UTF-8
Informacja zapisana w UTF-8 i odczytana w UTF-8
Widok tekstowy
Ta sama informacja zapisana w ANSI i odczytana w UTF-8
widok binarny
Plik UTF-8 (z pierwszego obrazka) w widoku bitowym heksadecymalnym
Martynka
Obrazek w edytorze graficznym
Obrazek w widoku tekstowym
Ten sam obrazek – widok tekstowy (fragment)
Obrazek w edytorze heksadecymalnym
Ten sam obrazek – widok heksadecymalny w edytorze bitowym (fragment) (fragment)