UTF-16 (16 bits Unicode Transformation Format)

UTF-16 (16 bits Unicode Transformation Format) is een standaardmethode voor het coderen van Unicode-karaktergegevens. UTF-16 maakt deel uit van de Unicode Standard versie 3.0 (en hoger genummerde versies) en kan alle momenteel gedefinieerde Unicode-tekens coderen. UTF-16 is gespecificeerd in Annex Q van de ISO/IEC 10646 standaard en in de IETF RFC 2781.

Unicode is ontworpen om alle bekende schrijfsystemen in de wereld te ondersteunen. Het systeem maakt momenteel gebruik van drie verschillende coderingen om Unicode-tekensets weer te geven: UTF-8, UTF-16 en UTF-32. Elke codering definieert een systeem waarbij tekens in een bepaalde tekenset in binaire vorm in een bestand kunnen worden weergegeven. Elk van deze binaire weergaven van een karakter wordt een codepunt genoemd. Unicode kan meer dan een miljoen verschillende coderingen definiëren (10FFFF codepunten in hexadecimaal; 1.114.112 in decimaal). Unicode-codepunten zijn onderverdeeld in 17 vlakken, waarvan de vlakken 0 tot en met 2 het meest voorkomen:

  • Plane 0, bekend als het Basic Multilingual Pane (BMP) bevat tekens voor bijna alle moderne talen, alsmede de meest voorkomende speciale tekens.
  • Baan 1, bekend als het Aanvullende Meertalige Vlak (SMP), wordt voornamelijk gebruikt voor historische schriften zoals Lineair B en voor muzikale en wiskundige symbolen.
  • Baan 2, bekend als het Aanvullende Ideografische Vlak (SIP), wordt gebruikt voor ongeveer 40.000 Unified Han Ideographs die zelden worden gebruikt in de dagelijkse schriftelijke communicatie.

De resterende vlakken zijn, tot nu toe, grotendeels ongebruikt.

UTF-16 codeert tekens in specifieke binaire reeksen met behulp van een of twee 16-bits reeksen. Omdat er drie verschillende coderingsschema's zijn om codepunten te mappen naar 8-bit of octet sequenties, zijn er drie verschillende coderingsschema's rond het basis 16-bit sequentiemodel.

UTF-16 wordt soms door elkaar gebruikt met UCS-2, hoewel dat gebruik niet strikt correct is.