Unicode

Unicode is een internationale standaard (nauw samenhangend met ISO-10646) voor de codering van grafische tekens en symbolen in binaire codes, vergelijkbaar met de ASCII-standaard. De standaard voorziet alle tekens van alle geschreven talen van een naam (in de standaard in hoofdletters geschreven) en een nummer (vaak hexadecimaal geschreven, voorafgegaan door U+). Er is bijvoorbeeld het teken LATIN CAPITAL LETTER A met nummer U+0041 (65), los van de lettertypes waarin het weergegeven kan worden. De grafische weergave per lettertype behoort niet tot de standaard.

De standaard wordt onderhouden door het Unicode Consortium. In tegenstelling tot ASCII (alleen Engels) of Latin-1 (alleen West-Europese talen) heeft Unicode als doel alle gebruikte schriften (zoals het Griekse alfabet en Chinese karakters) te ondersteunen. De standaard bevat ruim 100.000 gestandaardiseerde tekens en ongeveer 900.000 voor toekomstig gebruik gereserveerde codes. De Unicode standaard schrijft niets voor over de visuele representatie van een karakter.

Unicode logo

Unicode stelt geen beperkingen aan het aantal talen dat in één enkel document gebruikt kan worden. Naast letters en cijfers bevat Unicode ook veel symbolen, zoals: kruisen, wiskundige tekens, muntsymbolen enzovoort. Unicode bevat geen symbolen die niet in een schrift worden gebruikt, zoals verkeersborden. Enkele "tekens" in Unicode zijn zelf geen grafische tekens, maar hebben betekenis voor de wijze waarop de zichtbare tekens geplaatst worden, zoals carriage return, line feed, spatie en de niet-afbrekende spatie ( harde spatie, NBSP).

Een neveneffect bij omzetting van gegevens die anders gecodeerd waren, is dat bij sorteren op numerieke volgorde een ander resultaat (space, numeric, uppercase, lowercase (SNUL)) dan bijvoorbeeld bij EBCDIC (space, lowercase, uppercase, numeric (=SLUN)) verkregen wordt, omdat de tekens anders gerangschikt zijn.

Geschiedenis

Bij de eerste computers waren alle teksten (programma's en in- en uitvoer) in hoofdletters, met als verdere tekens cijfers, leestekens en dergelijke, zie bijvoorbeeld GBCD. Later werden kleine letters toegevoegd, zie bijvoorbeeld ASCII. Deze 7-bits code (8-bits zijn samen 1 byte) bevat alleen het Latijnse alfabet en geen diakritische tekens. Het lag daarom voor de hand ASCII uit te breiden tot extended ASCII met een achtste bit, maar er was niet genoeg ruimte voor alle tekens in alle talen met het Latijnse schrift. Daarom kregen veel talen hun eigen variant van extended ASCII en er was ook EBCDIC. Er is geen standaardmethode om aan te geven welke variant gebruikt wordt, zo gebeurt dit in HTML anders dan in e-mail, en in platte tekst kan het al helemaal niet, wat veel spraakverwarring oplevert.

Voor veel schriften, zoals het Chinese, Arabische en Japanse schrift, zijn 256 tekens niet voldoende. Voor deze uitgebreidere tekenverzamelingen worden traditioneel al andere coderingen gebruikt, die ruimte voor meer tekens bevatten.

Zelfs met al deze verschillende coderingen voor de verschillende talen was het nog niet mogelijk om over een vreemde taal te schrijven. Wanneer men in een Chinese tekst over het Arabisch wilde schrijven, kon men dat niet in de standaard-Chinese codering: de Arabische letters zijn daarin namelijk niet opgenomen. Unicode en de daarvoor beschikbare coderingen bieden voor al dit soort problemen uitkomst.

In andere talen
Afrikaans: Unicode
Alemannisch: Unicode
አማርኛ: ዩኒኮድ
العربية: يونيكود
অসমীয়া: ইউনিক’ড
asturianu: Unicode
azərbaycanca: Unicode
Boarisch: Unicode
беларуская: Унікод
беларуская (тарашкевіца)‎: Юнікод
български: Уникод
বাংলা: ইউনিকোড
brezhoneg: Unicode
bosanski: Unicode
català: Unicode
ᏣᎳᎩ: ᏳᏂᎪᏛ
کوردی: یوونیکۆد
čeština: Unicode
Чӑвашла: Юникод
Cymraeg: Unicode
dansk: Unicode
Deutsch: Unicode
Ελληνικά: Γιούνικοντ
English: Unicode
Esperanto: Unikodo
español: Unicode
eesti: Unicode
euskara: Unicode
فارسی: یونی‌کد
suomi: Unicode
français: Unicode
Gaeilge: Unicode
galego: Unicode
ગુજરાતી: યુનિકોડ
עברית: יוניקוד
हिन्दी: यूनिकोड
hrvatski: Unikod
magyar: Unicode
Հայերեն: Յունիկոդ
interlingua: Unicode
Bahasa Indonesia: Unicode
Ilokano: Unicode
íslenska: Unicode
italiano: Unicode
日本語: Unicode
Basa Jawa: Unicode
ქართული: უნიკოდი
қазақша: Юникод
ಕನ್ನಡ: ಯುನಿಕೋಡ್
한국어: 유니코드
कॉशुर / کٲشُر: यूनिकोड
Kurdî: Unicode
Кыргызча: Юникод
lietuvių: Unikodas
latviešu: Unikods
олык марий: Unicode
മലയാളം: യൂണികോഡ്
монгол: Юникод
मराठी: युनिकोड
Bahasa Melayu: Unicode
မြန်မာဘာသာ: ယူနီကုဒ်
Plattdüütsch: Unicode
नेपाली: युनिकोड
नेपाल भाषा: युनिकोड
norsk nynorsk: Unicode
norsk: Unicode
occitan: Unicode
ਪੰਜਾਬੀ: ਯੂਨੀਕੋਡ
polski: Unikod
português: Unicode
română: Unicode
русский: Юникод
संस्कृतम्: युनिकोड
саха тыла: Юникод
Scots: Unicode
srpskohrvatski / српскохрватски: Unikod
සිංහල: යුනිකෝඩ්
Simple English: Unicode
slovenčina: Unicode
slovenščina: Unicode
shqip: Unicode
српски / srpski: Unikod
Basa Sunda: Unicode
svenska: Unicode
తెలుగు: యూనికోడ్
тоҷикӣ: Юникод
Tagalog: Unikodigo
Türkçe: Unicode
ئۇيغۇرچە / Uyghurche: Unicode
українська: Юнікод
اردو: یونیکوڈ
Tiếng Việt: Unicode
walon: Unicôde
吴语: Unicode
მარგალური: იუნიკოდი
ייִדיש: יוניקאד
Yorùbá: Unicode
中文: Unicode
Bân-lâm-gú: Unicode
粵語: 統一碼