UCS-2 versus UTF-16
UCS-2 en UTF-16 zijn twee karaktercoderingsschema's die 2 bytes gebruiken, die uit 16 bits bestaan, om elk teken weer te geven; dus de 2 en 16 achtervoegsels. Het grootste verschil tussen UCS-2 en UTF-16 is welke momenteel wordt gebruikt. UCS-2 is een ouder systeem dat inmiddels als verouderd werd beschouwd en werd vervangen door de veel nieuwere en krachtigere UTF-16.
UCS-2 is een codering met vaste breedte die voor elk teken twee bytes gebruikt; wat betekent dat het tot 216 tekens of iets meer dan 65 duizend kan vertegenwoordigen. Aan de andere kant, UTF-16 is een coderingsschema met variabele breedte dat voor elk teken minimaal 2 bytes en maximaal 4 bytes gebruikt. Hiermee kan UTF-16 elk teken in Unicode vertegenwoordigen terwijl er minimale ruimte wordt gebruikt voor de meest gebruikte tekens. Voor de meerderheid van de 65.000 tekens hebben UCS-2 en UTF-16 identieke codepunten; dus ze zijn grotendeels gelijkwaardig. Hiermee kunnen UTF-16-geschikte toepassingen UCS-2-codes correct interpreteren. Maar andersom zou niet werken vanwege de vele verbeteringen in UTF-16.
Een van de genoemde verbeteringen is de mogelijkheid om scripts weer te geven die van rechts naar links gaan in plaats van van links naar rechts. In UTF-16 kunnen de scripts directionaliteit identificeren, waardoor de applicatie de woorden die in de code zijn opgeslagen correct kan weergeven. UCS-2 heeft dit vermogen niet en werkt dus niet met scripts zoals Arabisch en Hebreeuws, die van rechts naar links bewegen. Een andere functie die UTF-16 heeft, is normalisatie. Normalisatie behandelt woorden die hetzelfde betekenen, maar die op een andere manier worden weergegeven als identiek. De woorden 'kan niet' en 'kunnen niet' zijn bijvoorbeeld identiek, omdat de laatste slechts een samentrekking is van de eerste. Dit is erg belangrijk, vooral wanneer u naar dergelijke woorden zoekt, omdat het een uitgebreider zoekresultaat mogelijk zou maken. In UCS-2 gebeurt dit niet automatisch, dus de toepassing moet een dergelijke functie alleen implementeren.
Er is echt geen reden om UCS-2 te kiezen via UTF-16, behalve dat u een toepassing moet hebben die u UTF-16 niet nodig heeft. In alle aspecten is UTF-16 superieur aan UCS-2. Het is ook grotendeels achterwaarts compatibel, dus u hoeft zich geen zorgen te maken over bestanden die zijn gecodeerd in UCS-2.
Samenvatting: