Unicode: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Regel 71:
 
== Codering ==
De Unicodestandaard kent aan elk teken een volgnummernummer toe, codepunt genoemd, dat geschreven wordt als U+xxxx, U+xxxxx of U+xxxxxx, waarin de x'en de 4 tot 6 [[Hexadecimaal|hexadecimale]] cijfers van het volgnummercodepunt zijn (voorloopnullen worden dus in ieder geval toegevoegd om aan te vullen tot vier hexadecimale cijfers, extra voorloopnullen zijn optioneel). De codescodepunten die gekoppeld zijn of kunnen worden aan een teken lopen van U+0000 (0) tot en met U+D7FF (55.295) en van U+E000 (57.344) tot en met U+10FFFF (1.114.111). Dat zijn 55.296 + 8.192 = 63.488 (0xF800) tekens met een codecodepunt tot en met twee bytes, plus 1.048.576 (0x100000) andere, in totaal 1.112.064 (0x10F800). De onderbreking bestaat uit 2048 (0x800) codescodepunten die ten behoeve van gunstige eigenschappen van de UTF-16-codering niet gebruikt worden; ze worden ''surrogaatcodepunten'' genoemd.
 
Unicode biedt verschillende coderingsvormen (''encoding forms'') om dezede waardencodepunten te representeren:
* [[UTF-32]]: Een code-eenheid (''code unit'') heeft 32 bits. Tekens worden opgeslagen in één code-eenheid. Een nadeel is dat ook kleine codescodepunten vier bytes vergen.
* [[UTF-16]]: Een code-eenheid heeft 16 bits. Tekens worden opgeslagen in een of twee code-eenheden, afhankelijkde vanlagere in een, de hunhogere toegekendein waardetwee. UTF-16 is een uitbreiding van [[UCS-2]], de codering van Unicode t/m versie 1.1. Voor de tekens die worden opgeslagen in twee code-eenheden worden alleen de 2048 16-bits getallen gebruikt die niet afzonderlijk worden gebruikt voor de opslag van een teken. Daardoor blijven er 63.488 16-bits getallen over voor opslag van een teken in één code-eenheid. Van dezede genoemde 2048 16-bits getallen worden er 1024 uitsluitend gebruikt als eerste van de twee 16-bits getallen die een teken representeren, en 1024 uitsluitend als tweede, wat 1.048.576 combinaties oplevert, voor even zoveel codepunten. Zo'n combinatie wordt een ''surrogaatpaar'' genoemd.
* [[UTF-8]]: Een code-eenheid heeft 8 bits. Tekens worden opgeslagen in een tot vier code-eenheden, afhankelijkhoe vangroter dehet huncodepunt toegekendehoe waardemeer. Voor de tekens die worden opgeslagen in twee tot vier code-eenheden, worden niet de 128 8-bits getallen gebruikt die afzonderlijk worden gebruikt voor de opslag van een teken. Van de resterende 128 8-bits getallen worden er 64 uitsluitend gebruikt voor de vervolg-8-bits getallen voor tekens die worden opgeslagen in twee tot vier code-eenheden. Van de resterende 64 8-bits getallen worden er 32 uitsluitend gebruikt voor het eerste 8-bits getal voor de 1920 tekens die worden opgeslagen in twee code-eenheden, 16 uitsluitend voor het eerste 8-bits getal voor de 61.440 tekens die worden opgeslagen in drie code-eenheden, 8 uitsluitend voor het eerste 8-bits getal voor de 1.048.576 tekens die worden opgeslagen in vier code-eenheden, en 8 niet gebruikt. In deze codering worden ASCII-tekens onveranderd gecodeerd, en vergen daardoor minder geheugen dan met UTF-16 (een in plaats van twee bytes), maar vrij grote codescodepunten vergen meer geheugen (drie in plaats van twee bytes).
 
<small>