Co to jest format pliku UTF8?
Rozszerzenie .utf8 oznacza zwykły plik tekstowy, który jest jawnie zakodowany w UTF-8 - dominującym kodowaniu znaków Unicode we współczesnym internecie i większości systemów operacyjnych. UTF-8 został zaprojektowany przez Kena Thompsona i Roba Pike'a we wrześniu 1992 roku, a później ustandaryzowany jako RFC 3629 (2003); koduje każdy punkt kodowy Unicode przy użyciu od jednego do czterech bajtów, zachowując pełną kompatybilność wsteczną z ASCII.
Samo rozszerzenie nie jest odrębnym formatem pliku. Jest to nieformalna konwencja używana do sygnalizowania kodowania - najczęściej, gdy narzędzie takie jak iconv -t UTF-8 konwertuje plik ze starszym kodowaniem lub gdy projekt przechowuje kopie w różnych kodowaniach i musi je rozróżnić. Zmiana nazwy pliku .utf8 na plik .txt sprawia, że zachowuje się on identycznie; każdy edytor lub przeglądarka obsługująca zwykły tekst otworzy go bez modyfikacji.
Plik .utf8 może opcjonalnie zaczynać się od znaku kolejności bajtów (BOM) dla UTF-8, czyli trzybajtowej sekwencji EF BB BF. Większość narzędzi w systemach Linux i macOS pomija BOM; aplikacje Windows historycznie go dodawały. Czytniki, które traktują plik jako Windows-1252, wyświetlą BOM jako zbędne znaki „”.
Ponieważ UTF-8 jest domyślnym kodowaniem dla Markdown, CSV, JSON i wielu innych formatów tekstowych, sufiks .utf8 pojawia się najczęściej w potokach konwersji danych, procesach lokalizacji i projektach migracji ze starszych systemów, gdzie jawne nazwanie kodowania pozwala uniknąć niejednoznaczności.
Bezpieczeństwo
RYZYKO: LOWPlik .utf8 to zwykły tekst i nie może być wykonywany, więc otwieranie go do odczytu jest bezpieczne. Jedyne zastrzeżenia nie mają charakteru złośliwego: należy wybrać kodowanie UTF-8, aby uniknąć błędnych znaków, i pamiętać, że opcjonalny BOM może zmylić niektóre skrypty lub importy CSV. Jak zawsze, ufaj rozszerzeniu dopiero po wstępnej weryfikacji - plik o nazwie „data.utf8”, który w rzeczywistości jest plikiem wykonywalnym, stanowiłby realne zagrożenie, a nie sam format tekstowy UTF-8.
Szczegóły formatu
w pigułceProgramy otwierające pliki UTF8
Szczegóły techniczne
specyfikacja| Schemat kodowania | Unicode o zmiennej szerokości; każdy punkt kodowy zajmuje od 1 do 4 bajtów |
| Kompatybilność z ASCII | Bajty 0x00-0x7F są identyczne z US-ASCII; czysty plik ASCII jest poprawnym plikiem UTF-8 |
| Zakres znaków | Wszystkie 1 114 112 punktów kodowych Unicode (od U+0000 do U+10FFFF) |
| Typ MIME | text/plain; charset=utf-8 |
| Znak kolejności bajtów (BOM) | Opcjonalny trzybajtowy prefiks EF BB BF (U+FEFF); zazwyczaj pomijany w Linux/macOS, czasem dodawany przez narzędzia Windows |
| Kolejność bajtów | Niezależny od kolejności bajtów (endianness); w przeciwieństwie do UTF-16 lub UTF-32, kolejność nie ma znaczenia |
| Struktura pliku | Płaska sekwencja zakodowanych znaków; brak obowiązkowego nagłówka, schematu czy metadanych |
| Rola rozszerzenia | Tylko konwencja nazewnictwa - sygnalizuje kodowanie UTF-8 narzędziom i użytkownikom; strukturalnie identyczny z plikiem .txt |
| Samosynchronizacja | Bajty kontynuacji zawsze zaczynają się od 10xxxxxx; czytnik może zsynchronizować się po uszkodzeniu danych bez ponownego skanowania od początku |
| Bajty na punkt kodowy | 1 bajt (U+0000-U+007F), 2 bajty (U+0080-U+07FF), 3 bajty (U+0800-U+FFFF), 4 bajty (U+10000-U+10FFFF) |
| Zakończenia linii | Brak narzuconych; pliki mogą używać LF (Unix/macOS), CR+LF (Windows) lub samego CR (starsze systemy Mac) |
| Kompresja | Brak wbudowanej; powtarzalność tekstu sprawia, że pliki .utf8 kompresują się wydajnie za pomocą gzip, zstd lub bzip2 |
| Typowy rozmiar pliku | Od kilku bajtów do wielu megabajtów; tekst w zakresie ASCII ma ten sam rozmiar co ASCII; pismo niełacińskie wymaga 2-4 bajtów na znak |
| Typowe narzędzia generujące | iconv -t UTF-8, Python str.encode('utf-8'), edytory takie jak VS Code, Vim (:set fileencoding=utf-8) i Notepad (Windows 10+) |
| Wydano | UTF-8 designed 1992; standardized in Unicode/ISO 10646. The .utf8 hint suffix is a later informal convention |
| Najnowsza wersja | UTF-8 per current Unicode (e.g. Unicode 16.0, 2024) and RFC 3629 |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | datatracker.ietf.org |
Konwersje UTF8
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki UTF8.