Hvad er UTF8-filformatet?
Filendelsen .utf8 markerer en almindelig tekstfil, der eksplicit er kodet i UTF-8 - den dominerende Unicode-tegnkodning på det moderne web og de fleste operativsystemer. UTF-8 blev designet af Ken Thompson og Rob Pike i september 1992 og senere standardiseret som RFC 3629 (2003); den koder hvert Unicode-kodepunkt ved hjælp af en til fire bytes, mens den forbliver fuldt bagudkompatibel med ASCII.
Selve filendelsen er ikke et særskilt filformat. Det er en uformel konvention, der bruges til at signalere kodning - oftest når et værktøj som iconv -t UTF-8 konverterer en fil med en ældre kodning, eller når et projekt gemmer kopier i forskellige kodninger og har brug for at kende forskel på dem. Omdøb en .utf8-fil til en .txt-fil, og den opfører sig identisk; enhver editor eller fremviser, der håndterer almindelig tekst, vil åbne den uden ændringer.
En .utf8-fil kan valgfrit begynde med et UTF-8 byte-order mark (BOM), en sekvens på tre bytes EF BB BF. De fleste Linux- og macOS-værktøjer udelader BOM; Windows-applikationer har historisk set tilføjet det. Læsere, der behandler filen som Windows-1252, vil vise BOM som de mærkelige tegn .
Da UTF-8 er standardkodningen for Markdown, CSV, JSON og mange andre tekstformater, optræder .utf8-suffikset oftest i datakonverterings-pipelines, lokaliserings-workflows og ældre migreringsprojekter, hvor eksplicit navngivning af kodningen undgår tvetydighed.
Sikkerhed og tryghed
RISIKO: LOWEn .utf8-fil er almindelig tekst og kan ikke eksekveres, så det er sikkert at åbne en for at læse den. De eneste forbehold er ikke-ondsindede: vælg UTF-8-kodning for at undgå ulæselige tegn, og vær opmærksom på, at den valgfrie BOM kan forvirre visse scripts/CSV-importer. Som altid bør man kun stole på filendelsen efter et tjek - en fil, der påstår at være «data.utf8», men som faktisk er en eksekverbar fil, ville være den reelle risiko, ikke selve UTF-8-tekstformatet.
Formatdetaljer
kort fortaltProgrammer der åbner UTF8-filer
Tekniske detaljer
dyb specifikation| Kodningsskema | Unicode med variabel bredde; hvert kodepunkt bruger 1 til 4 bytes |
| ASCII-kompatibilitet | Bytes 0x00-0x7F er identiske med US-ASCII; en ren ASCII-fil er gyldig UTF-8 |
| Tegndækning | Alle 1.114.112 Unicode-kodepunkter (U+0000 til U+10FFFF) |
| MIME-type | text/plain; charset=utf-8 |
| Byte-order mark (BOM) | Valgfrit præfiks på tre bytes EF BB BF (U+FEFF); udelades normalt på Linux/macOS, tilføjes undertiden af Windows-værktøjer |
| Byte-rækkefølge | Uafhængig af byte-rækkefølge; endianness er ikke et problem, i modsætning til UTF-16 eller UTF-32 |
| Filstruktur | Flad sekvens af kodede tegn; ingen obligatorisk header, skema eller metadata |
| Filendelsens rolle | Kun en navngivningskonvention - signalerer UTF-8-kodning til værktøjer og mennesker; strukturelt identisk med en .txt-fil |
| Selv-synkronisering | Fortsættelses-bytes begynder altid med 10xxxxxx; en læser kan gen-synkronisere efter datakorruption uden at genscanne fra starten |
| Bytes pr. kodepunkt | 1 byte (U+0000-U+007F), 2 bytes (U+0080-U+07FF), 3 bytes (U+0800-U+FFFF), 4 bytes (U+10000-U+10FFFF) |
| Linjeskift | Ikke påkrævet; filer kan bruge LF (Unix/macOS), CR+LF (Windows) eller bare CR (ældre Mac) |
| Komprimering | Ingen indbygget; tekst-redundans gør, at .utf8-filer komprimeres effektivt med gzip, zstd eller bzip2 |
| Typisk filstørrelse | Bytes til mange megabytes; tekst i ASCII-området er byte-for-byte samme størrelse som ASCII; ikke-latinske skrifter kræver 2-4 bytes pr. tegn |
| Almindelige værktøjer til generering | iconv -t UTF-8, Python str.encode('utf-8'), editorer som VS Code, Vim (:set fileencoding=utf-8) og Notepad (Windows 10+) |
| Udgivet | UTF-8 designed 1992; standardized in Unicode/ISO 10646. The .utf8 hint suffix is a later informal convention |
| Seneste version | UTF-8 per current Unicode (e.g. Unicode 16.0, 2024) and RFC 3629 |
| Åben standard | Ja · royaltyfri |
| Specifikation | datatracker.ietf.org |
UTF8-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om UTF8-filer.