Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Kody znaków (kodowanie pliku)

Termin Definicja
Kody znaków (kodowanie pliku)

Kody znaków, czyli kodowanie pliku, określają sposób interpretacji bajtów jako liter podczas odczytu danych.

Jak bajty stają się znakami

Kodowanie pliku określa reguły, według których ciąg bajtów jest zamieniany na znaki tekstowe. Sam bajt nie jest literą ani cyfrą; jest wartością liczbową z zakresu od 0 do 255. Dopiero zastosowanie konkretnego kodowania pozwala ustalić, czy dana wartość oznacza na przykład literę „A”, polski znak „ą”, fragment znaku wielobajtowego albo dane, które nie należą do tekstu. Jeżeli program odczyta plik przy użyciu innego kodowania niż to, w którym został zapisany, pojawiają się błędne symbole, znaki zapytania lub tak zwana „kasza” tekstowa.

Współczesne pliki tekstowe najczęściej zapisuje się w Unicode. Kodowanie UTF-8 przedstawia znaki za pomocą od jednego do czterech bajtów i zachowuje zgodność z podstawowym zakresem ASCII, obejmującym między innymi alfabet łaciński, cyfry oraz znaki sterujące. UTF-16 wykorzystuje zwykle dwa bajty na jednostkę kodową, a dla części znaków spoza podstawowej płaszczyzny Unicode stosuje pary jednostek. Unicode definiuje znaki i ich numeryczne punkty kodowe, natomiast UTF-8 i UTF-16 określają sposób zapisania tych wartości w pliku.

UTF-8, BOM i starsze strony kodowe

UTF-8 może występować bez znacznika BOM albo z trzema bajtami na początku pliku: EF BB BF. Taki prefiks nie jest treścią tekstu, lecz sygnaturą informującą niektóre programy o użytym kodowaniu. W przypadku UTF-16 BOM może wskazywać również kolejność bajtów: FF FE oznacza UTF-16 little-endian, a FE FF UTF-16 big-endian. Nie każdy program poprawnie obsługuje BOM, dlatego jego obecność lub brak może mieć znaczenie przy wymianie danych między starszymi i nowszymi aplikacjami.

W środowisku Windows można spotkać strony kodowe, takie jak Windows-1250, używana historycznie dla języków Europy Środkowej, oraz Windows-1252, przeznaczona głównie dla języków Europy Zachodniej. ISO-8859-2 jest innym standardem obejmującym między innymi polskie litery, ale nie jest tym samym co Windows-1250. Odczyt pliku Windows-1250 jako ISO-8859-2 może zmienić część znaków, a odczyt pliku UTF-8 jako strony jednobajtowej zwykle prowadzi do nieczytelnych sekwencji znaków. Samo rozszerzenie TXT, CSV, LOG lub HTML nie informuje jednoznacznie o kodowaniu.

Rozpoznawanie i konwersja bez utraty treści

Ustalenie kodowania wymaga porównania zawartości pliku z informacją pochodzącą od programu, który go utworzył, oraz z charakterystycznymi cechami danych. W dokumentach HTML kodowanie może być wskazane w nagłówku HTTP albo w elemencie meta, na przykład przez deklarację charset=utf-8. W plikach XML często stosuje się deklarację encoding w pierwszej linii. Żadna automatyczna detekcja nie daje jednak pewności dla każdego tekstu, zwłaszcza gdy plik zawiera wyłącznie znaki wspólne dla kilku kodowań.

Bezpieczna konwersja polega na odczytaniu pliku przy użyciu prawidłowego kodowania, a następnie zapisaniu znaków w wybranym standardzie, najczęściej UTF-8. Nie należy zmieniać samego rozszerzenia ani wykonywać wielokrotnego zapisu z przypadkowymi ustawieniami, ponieważ znaki spoza bieżącej strony kodowej mogą zostać zastąpione znakiem zapytania i utracone. Przy plikach CSV trzeba dodatkowo sprawdzić, czy program prawidłowo rozpoznaje separator pól, cudzysłowy oraz znaki końca wiersza, ponieważ problemy z kodowaniem często występują razem z błędną interpretacją struktury pliku.

Kiedy kodowanie utrudnia pracę z dokumentami

Błędne kodowanie może powodować nieczytelne nazwy plików, problemy z wyszukiwaniem polskich znaków, nieprawidłowe wyświetlanie napisów w programach oraz błędy podczas importu danych. Szczególnie łatwo zauważyć to po przeniesieniu dokumentów między starszym programem Windows, edytorem tekstu, systemem Linux i aplikacją internetową. Jeżeli tekst wygląda poprawnie w jednym programie, ale niepoprawnie w innym, warto sprawdzić ustawienia kodowania po obu stronach, zamiast od razu zakładać uszkodzenie pliku.

Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, a w ramach diagnostyki może również sprawdzić problemy z odczytem dokumentów, plików tekstowych oraz danych zapisanych na dysku. Przy analizie należy najpierw utworzyć kopię oryginalnego pliku, ustalić aplikację, która go zapisała, i zachować jego pierwotną postać. Dopiero na kopii można testować zmianę kodowania, zapis do UTF-8 oraz otwarcie w innym edytorze, aby ocenić, czy treść została zachowana bez podmiany znaków.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę