Langbahn Team – Weltmeisterschaft

UTF

UTF, akronym för Unicode Transformation Format, är en uppsättning format för att representera Unicode-tecken i oktetter (bytes). Olika UTF-kodningar använder ett varierande antal oktetter för varje tecken: minst en i UTF-8, vanligen två men ibland fyra i UTF-16 och alltid fyra i UTF-32. Numren syftar på antalet använda bitar i de använda enheterna.

Unicode behöver 21 bitar för att representera alla tecken, men datorer hanterar i allmänhet data i enheter om 8, 16 eller 32 bitar. Därför behövs ett teckenkodningsformat. Tidigare teckenkodningar använde ofta 7 eller 8 bitar, vilket inte räcker för världens olika skriftsystem. Vissa UTF-kodningar strävar efter att bevara viss kompatibilitet med äldre kodningar, framförallt ASCII (åtta bitar varav en oanvänd).

Standarden definierar olika metoder att översätta en kodpunkt i Unicode till en sekvens av oktetter. Samtliga tecken i dagens existerande skriftspråk, och många historiska, kan representeras i Unicode (det har varit viss kontrovers kring vad som är olika tecken och vad som är varianter av samma tecken och huruvida de senare skall kunna få skilda kodpunkter). Samtliga UTF-varianter stöder alla tecken (i motsats till den äldre kodningen UCS-2). UTF-7 avsågs att lättare kunna hanteras i system som förutsatte sju bitar per oktett (framförallt e-post), men sådana system blev sällsynta och problemet löstes på andra sätt (för e-post genom MIME).

Följande varianter av UTF finns:

Endast UTF-16 och UTF-8 beskrivs i ISO/IEC 10646, och är de enda som i större utsträckning används i filer. UTF-32 används internt i många datorprogram. UTF-8 dominerar i Unix-liknande system, medan UTF-16 dominerar i Windows-system. UTF-8 stöds i nyare Internetprotokoll, om inte särskilda skäl talar emot det.

Alla varianter utom UTF-32 innebär att ett tecken översätts till ett variabelt antal bitar. I UTF-8 kan ett Unicode-tecken kodas i en, två, tre eller fyra oktetter, beroende på vilket tecken det är. I UTF-16 kodas tecknen i två eller fyra oktetter (två oktetter för alla tecken med kod upp till FFFF hex). En del koder har reserverats för annat än tecken, bland annat koderna som behövs för UTF-16:s mekanism för koder som inte ryms i två oktetter.

Externa länkar