En förklaring av kodning av Unicode-karaktär

För att en dator ska kunna lagra text och nummer som människor kan förstå måste det finnas en kod som omvandlar tecken till siffror. Unicode-standarden definierar en sådan kod med hjälp av teckenkodning.

Anledningen till att teckenkodningen är så viktig är att alla enheter kan visa samma information. Ett anpassat teckenkodningsschema kan fungera briljant på en dator, men problem kommer att uppstå när du skickar samma text till någon annan. Det vet inte vad du pratar om såvida det inte förstår kodningsschemat också.

Teckenkodning

All teckenkodning gör är att tilldela ett nummer till varje tecken som kan användas. Du kan skapa en teckenkodning just nu.

Till exempel kan jag säga att brevet EN blir numret 13, a = 14, 1 = 33, # = 123 och så vidare.

Det är här branschövergripande standarder kommer in. Om hela datorindustrin använder samma teckenkodningsschema kan varje dator visa samma tecken.

Vad är Unicode?

ASCII (American Standard Code for Information Interchange) blev det första utbredda kodningssystemet. Det är dock begränsat till endast 128 teckendefinitioner. Det här är bra för de vanligaste engelska tecken, siffror och skiljetecken, men är lite begränsande för resten av världen.

Naturligtvis vill resten av världen samma kodningsschema för sina karaktärer också. Men för lite, men beroende på var du var, kan det dock ha visats ett annat tecken för samma ASCII-kod.

Till slut började de andra delarna av världen att skapa sina egna kodningssystem och saker började bli lite förvirrande. Inte bara var kodningsschema av olika längder, program som behövdes för att räkna ut vilket kodningsschema de skulle använda.

Det visade sig att ett nytt teckenkodningsschema behövdes, vilket är när Unicode-standarden skapades. Målet med Unicode är att förena alla de olika kodningssystemen så att förvirringen mellan datorer kan begränsas så mycket som möjligt.

Idag definierar Unicode-standarden värden för över 128 000 tecken och kan ses på Unicode Consortium. Det har flera teckenkodningsformer:

  • UTF-8: Använd bara en byte (8 bitar) för att koda engelska tecken. Den kan använda en sekvens av byte för att koda andra tecken. UTF-8 används ofta i e-postsystem och på internet.
  • UTF-16: Använder två byte (16 bitar) för att koda de mest använda tecknen. Vid behov kan de extra tecknen representeras av ett par 16-bitarsnummer.
  • UTF-32: Använder fyra byte (32 bitar) för att koda tecken. Det visade sig att när Unicode-standarden växte, är ett 16-bitarsnummer för litet för att representera alla karaktärer. UTF-32 kan representera varje Unicode-tecken som ett nummer.

Notera: UTF betyder Unicode Transformation Unit.

Kodpoäng

En kodpunkt är värdet som ett tecken ges i Unicode-standarden. Värdena enligt Unicode skrivs som hexadecimala nummer och har ett prefix av U+.

För att till exempel koda tecken vi tittade på tidigare:

  • EN är U + 0041
  • en är U + 0061
  • 1 är U + 0031
  • # är U + 0023