JavaRush /Blog Java /Random-PL /Bajty. Co czytamy z pliku?
Roman
Poziom 33

Bajty. Co czytamy z pliku?

Opublikowano w grupie Random-PL
Generalnie są to informacje dla początkujących. Kiedy pojawił się temat odczytywania informacji z pliku, pojawiło się pytanie: jeśli plik zawiera litery, to po co czytamy z niego liczby w postaci bajtów i czym jest w tym przypadku bajt? Czym jest bajt, zostało już tutaj dość dobrze napisane. Ale po przeczytaniu kwestia mechanizmu przekształcania liter w cyfry nadal pozostała, więc musiałem pogrzebać trochę głębiej w Internecie. Dlatego to, co napisano poniżej, można uznać za dodatek. Komputer przechowuje każdy plik jako informację składającą się z zer i jedynek w postaci binarnej. Każdy plik jest w rzeczywistości zbiorem następujących po sobie bajtów. Zazwyczaj istnieją dwa typy plików informacyjnych: plik tekstowy i plik binarny. Plik tekstowy zawiera typowy dla człowieka zestaw czytelnych znaków, który możemy otworzyć w dowolnym edytorze tekstu. Pliki binarne składają się ze znaków, do których nie jesteśmy przyzwyczajeni operować na co dzień, dlatego potrzebny jest specjalny program, który będzie w stanie je odczytać. Pliki tekstowe składają się z liter, cyfr i innych popularnych znaków. Takie pliki mają rozszerzenia .txt, .py, .csv itp. Kiedy otwieramy taki plik, widzimy zwykły zestaw znaków tworzących słowa. Chociaż w rzeczywistości treści te nie są przechowywane w tej formie w komputerze. Jest on przechowywany w postaci bitów, czyli 0 lub 1. W różnych tablicach kodowania ASCII, UNICODE lub inna wartość każdego znaku jest definiowana w postaci binarnej. Odpowiednio, jeśli bajt może pomieścić 256 znaków, wówczas każdy znak ma własne kodowanie binarne zer i jedynek (osiem kolejnych zapisanych zer lub jedynek daje jeden znak). Zatem po otwarciu pliku edytor tekstu tłumaczy każdą wartość ASCII na znajomy znak i wyświetla ją w zwykłej formie. Przykładowo pod liczbą 65 w postaci binarnej kodu ASCII jest 1000001, który będzie wyświetlany w pliku z łacińską (nie cyrylicą. Cyrylica zaczyna się od pozycji 192) literą „A”. Oznacza to, że w systemie ASCII bajt o wartości 1000001 odpowiada wartości łacińskiej litery „A”. Każda linia pliku ma swój własny podział linii – EOL (koniec linii). Często ten znak (dwa znaki) to „\n” (wartość binarna w ASCII: 00001010). Po odczytaniu takiego znaku program interpretuje go jako koniec linii i przejście do linii poniżej. Istnieją inne podobne „symbole funkcjonalne”. Pliki binarne, podobnie jak pliki tekstowe, są przechowywane w formie binarnej, ale nie są „dołączone” do programu, który je dekoduje, to znaczy nie ma tabeli deszyfrowania typu ASCII. Zasadniczo zawartość takich plików to zdjęcia, audio i wideo, które z kolei są skompresowanymi wersjami innych plików, takimi jak pliki samowykonujące się (.exe). Takie pliki (binarne) nie są czytelne dla człowieka w zwykłym tego słowa znaczeniu, więc próba otwarcia ich za pomocą konwencjonalnych edytorów tekstu wyświetli mnóstwo niezrozumiałych śmieci. W związku z tym tworzone są specjalne programy do prawidłowego odczytu takich plików. Pliki binarne są również przechowywane jako seria bajtów, ale w tym przypadku zmiana choćby jednego bitu może spowodować, że cały plik będzie nieczytelny. Tablicę znaków ASCII można zobaczyć tutaj. Tak więc, gdy czytamy plik, do zmiennej bajtowej wczytywanych jest 8 znaków (jeden lub zero), które następnie mogą zostać przekonwertowane przez jakiś program, np. Notatnik, na czytelne znaki. Źródło , które pomogło mi to rozgryźć.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION