Een verklaring van Unicode-tekencodering

Opdat een computer tekst en cijfers kan opslaan die mensen kunnen begrijpen, moet er een code zijn die tekens in cijfers omzet. De Unicode-standaard definieert een dergelijke code met behulp van tekencodering.

De reden dat karaktercodering zo belangrijk is, is dat elk apparaat dezelfde informatie kan weergeven. Een aangepast tekencoderingsschema werkt misschien briljant op de ene computer, maar er zullen problemen optreden wanneer u dezelfde tekst naar iemand anders verzendt. Het zal niet weten waar je het over hebt, tenzij het het coderingsschema ook begrijpt.

Tekencodering

Alle tekencodering doet is een nummer toewijzen aan elk teken dat kan worden gebruikt. Je zou nu een karaktercodering kunnen maken.

Ik zou bijvoorbeeld kunnen zeggen dat de brief EEN wordt het getal 13, a = 14, 1 = 33, # = 123, enzovoort.

Dit is waar industrie-brede normen binnenkomen. Als de hele computerindustrie hetzelfde karaktercoderingsschema gebruikt, kan elke computer dezelfde karakters weergeven.

Wat is Unicode?

ASCII (Amerikaanse standaardcode voor informatie-uitwisseling) werd het eerste wijdverspreide coderingsschema. Het is echter beperkt tot slechts 128 karakterdefinities. Dit is prima voor de meest voorkomende Engelse tekens, cijfers en leestekens, maar is een beetje beperkend voor de rest van de wereld.

Natuurlijk wil de rest van de wereld hetzelfde coderingsschema voor hun personages. Even kan echter, afhankelijk van waar je was, een ander karakter worden weergegeven voor dezelfde ASCII-code.

Uiteindelijk begonnen de andere delen van de wereld hun eigen coderingsschema's te maken en de dingen begonnen een beetje verwarrend te worden. Niet alleen waren de coderingsschema's van verschillende lengte, programma's moesten uitzoeken welk coderingsschema ze moesten gebruiken.

Het werd duidelijk dat een nieuw karaktercoderingsschema nodig was, toen de Unicode-standaard werd gemaakt. Het doel van Unicode is om alle verschillende coderingsschema's te verenigen zodat de verwarring tussen computers zoveel mogelijk kan worden beperkt.

Tegenwoordig definieert de Unicode-standaard waarden voor meer dan 128.000 tekens en is deze te zien in het Unicode Consortium. Het heeft verschillende tekencoderingsvormen:

  • UTF-8: Gebruikt slechts één byte (8 bits) om Engelse tekens te coderen. Het kan een reeks bytes gebruiken om andere tekens te coderen. UTF-8 wordt veel gebruikt in e-mailsystemen en op internet.
  • UTF-16: Gebruikt twee bytes (16 bits) om de meest gebruikte tekens te coderen. Indien nodig kunnen de extra tekens worden weergegeven door een paar 16-bits getallen.
  • UTF-32: Gebruikt vier bytes (32 bits) om de tekens te coderen. Het werd duidelijk dat naarmate de Unicode-standaard groeide, een 16-bits getal te klein is om alle tekens weer te geven. UTF-32 kan elk Unicode-teken als één getal weergeven.

Notitie: UTF betekent Unicode-transformatie-eenheid.

Codepunten

Een codepunt is de waarde die een teken krijgt in de Unicode-standaard. De waarden volgens Unicode worden geschreven als hexadecimale getallen en hebben een prefix van U+.

Om bijvoorbeeld de tekens te coderen die we eerder hebben bekeken:

  • EEN is U + 0041
  • een is U + 0061
  • 1 is U + 0031
  • # is U + 0023