Unicode

Unicode er i digital sammenhæng en konventionel betegnelse for de almindeligt udbredte tegnsæt UTF-8, UTF-16, UTF-32 og eventuelt også ISO-10646. Disse tegnsæt har som kendetegn at være dels helt sammenfaldende og dels meget omfattende, idet de omfatter de fleste både nuværende og historiske skriftsprog og såvel supplerende skrifttegn såsom de der bruges i IPA-notation, node-notation og algebraisk notation. I 2015 var mere end 120.000 skrifttegn omfattet .

Unicodes oprindelse 
I 1993 publicerede International Standards Organisation (ISO) et tegnsæt, ISO/IEC 10646, hvori defineredes et Universal Multiple-Octet Coded Character Set ofte forkortet Universal Character Set eller UCS.

 (..)UCS har som formål at tilvejebringe et enkelt (eneste) kodet tegnsæt for [den digitale transkription] af den skriftlige form af alle verdens sprog og en lang række øvrige symboler der måtte bruges i sammenhæng med disse sprog. Det er hensigten ikke kun at omfatte sprog af i dag, men også fortidens sprog og de tilføjelser som findes nødvendige i fremtiden.  

UTF-8
Samme år opfandt Ken Thompson en metode hvorved UCS kunne implementeres på Unix-platformen: File system safe UCS transformation format (FSS/UTF), i kort tid kendt som UTF-2 og senere omdøbt til UTF-8. Dette engagement var primært praktisk, og blev realiseret på den - ikke ret brugte - Plan 9 styresystemet. 
Ken Thompsons indsats var til dels også ansporet af den interesse som UCS ideen tiltrak fra ledende parter i computer-industrien, fokuseret i X/Open Joint Internationalization Group med repræsentation af eksempelvis IBM.
Xerox og Apple havde årene forinden initieret The Unicode Consortium .
I 1996 publicerede ISO deres overensstemmende specifikation af UTF-8.
Ligeledes i 1996 kom RFC-2044, publiceret af IEEE, der også beskrev UTF-8.

Organisationerne The Unicode Consortium og ISO (ved arbejdsgruppen JTC1/SC2/WG2), startede deres virke i slutningen af 1980'erne. Det er disse organisationer der vedligeholder UCS. I dag koordineres deres research og publikationer for at undgå uoverenstemmelser i Unicode-formatet - specielt for at undgå uoverenstemmelser i det faktiske tegnsæt der menes omfattet.

Tekniske karakteristika 
Grundlæggende beskæftiger computere sig udelukkende med binære tal. Arkiveringen af bogstaver og andre skrifttegn kommer som følge istand ved tildelingen af en numerisk kode. Før Unicode var - og den dag i dag er - der hundredvis af forskellige indkodningssystemer beregnet allokeringen af disse tegn-tal, se herfor eksempelvis .
Reelt set erstatter Unicode den store mængde af forskellige internationalt standardiserede tegnsæt på forskellige platforme.

I modsætning til eksempelvis ASCII og ISO 8859 tegnsæt er der ikke nogen ligetil mulighed for at UCS numre kan repræsenteres med en enkelt byte - de 8 bit giver kun 256 forskellige tegn:
For at præsentere UCS talrækken bliver der brugt flere bytes; det er en multi-byte encoding.

Hele UCS omfatter 31 bit.
De allerede værende tegnsæt blev repræsenteret i de første 16 bit (2^16=65.536), og kaldt for Basic Multilingual Plane, forkortet til BMP. BMP er senere udvidet til 21 bit, sådan nogenlunde - med hexadecimal notation talrækken fra 0x000000 til 0x10FFFF, over 1 million tegn-tal. Denne talrække er dog langt fra implementeret .
Det gængse Unicode tegnsæt er indeholdt i BMP, og mere konkret talrækken fra 0x000000 til 0x10FFFF, hexadecimal notation.

 UTF-8
UCS Transformation Format 8, specifikt forkortet UTF-8 findes specificeret hos ISO, IEEE og The Unicode Consortium .
 Ifølge konvention bruges maksimalt 4 bytes.
 Første byte i en byte-sekvens er enten enkeltstående, eller del i en multibyte sekvens.
 En enkeltstående byte er mindre end 0x80, i decimal notation 128, dvs. 7 bit. Disse bits omfatter ascii tegnene.
 Første byte i en multibyte sekvens viser hvormange efterfølgende bytes der hører med, ved at sætte de højest betydende bits til 1, efterfulgt af 0: 2-bytes 110x xxxx (binær notation); 3-bytes 1110 xxxx (binær notation).
 Følgende bytes i en multibyte sekvens har de to mest betydende bits sat til henholdsvis 1 og 0: 10xx xxxx (binær notation).

 Andre transformationer
 UCS-2 og UTF-16 — to funktionelt identiske 16-bit sekvens metoder
 UCS-4 og UTF-32 — to funktionelt identiske 32-bit sekvens metoder
 UTF-7 — en ikke særligt brugt 7-bit variabel længde indkodning.
 UTF-EBCDIC — en 8-bit variabel længde indkodning som maksimerer kompatibiliteten med EBCDIC.

Windows bruger hovedsageligt UTF-16, mens det hos Unix- og GNU/Linux-systemer i højere grad er op til den enkelte applikation at kunne håndtere Unicode - men Linux-kernen er også kompatibel med UTF-8.

I flere Windows programmer, bl.a. Word kan man skrive Unicode tegnene, ved at taste koden og derefter Alt + x.
I GNU skrive-programmet Vim kan man i Ex-mode taste 'ga', hvorefter decimal-, oktal- og hexadecimal-notation for tegnet under cursoren vises nederst på skærmen - det inkluderer også multibyte tegn.

Se også 

 ASCII
 ISO 8859

Eksterne links 
 
 Specifikationer
 
 
 Transformationer
 
 Unicode font
 GNU FreeFont. En Truetype font til GNU/Linux, Mac OS X og Microsoft Windows der også har fønikiske tegn!
 Unicode truetype skriftstype med fokus på Middelhavsregionens skriftssprog fra oldtiden, bl.a. de fønikiske tegn, kan downloades som demofont her: ALPHABETUM Unicode font

Kilder 
 
 , kan downloades fra standards.iso.org Publicly Available Standards

Noter 

Tegnsæt