Typsnittskrönika 27

2003

Om teckenkonvertering

Det här med teckenkonvertering mellan olika datasystem kan ju fortfarande ställa till en del huvudbry, trots att medvetenheten om problemen har ökat. Mycket arbete har också lagts ner under åren för att försöka åstadkomma ett teckenhanteringssystem i datorer som skulle kunna hantera alla tecken som används världen över.

ISO (International Standardization Organization) har jobbat länge med frågan. De har definierat ett tecken som ett element ingående i en samling enheter använda för att organisera, kontrollera och representera data. En teckenuppsättnings-kodning är en samling entydiga regler som definierar en teckenuppsättning och relationen mellan tecknen och den kodade representationen av en eller flera bit-kombinationer. (bit = Datorns minsta minnesenhet, kan ha värdet 0 eller 1. Förkortning för binary digit.)

Fram till ungefär 1983 så kunde man bara använda versaler i datorer, då användes kodning med 6-bitars bytes. Sen kom man på att det kunde vara bra att tillåta gemener också, då behövdes 7 bitar för att få tillräckligt många kombinationer.

ASCII

ASCII

Ascii (American Standard Code for Information Interchange) är en av de äldsta formaten för teckenkodning. Kodtabellen fungerar som ett koordinatsystem där varje byte är uppdelad i två delar, den vertikala delen (y-delen så att säga) innehåller fyra bitar och den horisontella delen resterande tre. Det ger med 7-bitars kodning, 15 rader gånger 8 kolumner. De två första kolumnerna är reserverade för styrkoder. Kvar blir 90 platser för grafiska tecken.

Det räckte inte så långt. Därför utvecklade man systemet 1987 och började använda 8 bitar för kodningen. Vid den tidpunkten klarade de flesta datorer av detta. Dessutom införde man olika varianter för att täcka in fler språk. Benämningen blev ISO-8859-1, ISO-8859-2 osv ända upp till 10, där de första fyra varianterna är latin-1 för Västeuropa, latin-2 för östeuropa, latin-3 för sydeuropa och latin-4 för norra europa. Version fem gäller för kyrilliska, version 6 för arabiska, version 7 för grekiska, version 8 för hebreiska. ISO-8859-9 blev latin-5 för turkiska och latin-6 kompletterade med samiska och isländska 1993.

Vad som har förvirrat begreppen under en längre tid är att tillverkare av datasystem och skrivare använt området teckenkonvertering som ett sätt att profilera sig. Detta genom att införa egna standarder eller modifieringar och utökningar av ascii-standarden. Men skillnader har inte bara funnits mellan olika tillverkare. Inom IBM har det under årens lopp funnits en mängd olika teckenkodningssystem som gjort att system inom företaget varit inkompatibla.

Men inte heller 8 bitar räcker speciellt långt när det handlar om t ex kinesiska eller japanska. Därför tog man nästa steg och införde dubbel-byte-kodningen (Universal Multiple-Octet Coded Charachter Set, UCS). Denna tillåter 65.536 platser, vilket räcker åtminstone för en begränsad variant av kinesiska. Men för att klara av japanska krävdes 4 bytes-kodning. Därför finns UCS-4. Både UCS-2 och UCS-4 ingår som delar i standarden ISO/IEC 10646 som Unicode bygger på. Men mer om Unicode nästa gång.

Lasse Törngren

Stäng