ASCII, som står for American Standard Code for Information Interchange, kom i 1963 som et forsøk på å standardisere utveksling av tekst. Dette er et meget gjennomtenkt system som er i bruk den dag i dag. Den første versjonen av ASCII brukte 7 bits. Den inneholdt en rekke spesialtegn og de vanlige latinske bokstavene, både små og store. Dessverre for oss nordmenn, og andre folkegrupper som bruker spesialtegn i sine alfabet, inneholdt ikke den originale ASCII internasjonale tegn, men kun de som var brukbare for amerikanere. Skulle man da skrive tegnet å måtte man nøye seg med kun en a eller evt. to a etterhvandre for å representere å.
Dette var uholdbart i lengden, og man utviklet bl.a en egen ASCII for det norske markedet kalt ISO646-60. Her ofret man tegnene [\] for henholdsvis Æ, Ø og Å, og {|} for henholdsvis æ, ø og å. Lignende spesialiseringer ble gjort for andre land som hadde spesialtegn i sine alfabet. Dette var en grei løsning for nasjonal bruk, men ved utveksling over landegrensene fungerte det jo ikke.
Derfor ble det til at man utviklet en del såkalte Extended ASCII versjoner, med plass til flere tegn. Vi har bl.a ISO8859-1 Latin alphabet no.1 som var beregnet på Vest-Europa. Her er tegnene Æ, Ø og Å samt æ, ø og å inkludert. Merk at disse tegnene i ASCII regnes som ett tegn hver, i motsetning til i Unicode som jeg skal komme inn på senere, hvor disse tegnene er kombinasjoner av to eller flere spesialtegn. For å dekke andre regioner ble det utviklet en rekke forskjellige Extended ASCII. En av de siste versjonene som er kommet er ISO8859-15 Latin alphabet no.9. Dette er en modernisert versjon av 8859-1 og inneholder euro-tegnet.Koden for Å i ASCII 8859-1 er 0x5C og for å er det 0x5E
Det finnes også en del produsentspesifikke versjoner av ASCII og Microsoft er en av de som har utformet en slik. Windows CP 1252 er navnet på denne og den er svært lik 8859-1. Forskjellen er at i 8859-1 finnes det en del reserverte tegn, som ikke er i bruk. Disse er brukt til en del forskjellige tegn i Windows CP 1252. Både Å og å har de samme kodene i Windows CP 1252 som i 8859-1.
Noe senere ble det utviklet en standard for representasjon av tekst som skulle løse alle problemer og kunne brukes av hele verdens befolkning. Dette var Unicode. Unicode er et 32 bits system, noe som skulle gi rom for alle tenkelige tegn og enda litt flere. Unicode er et veldig mye større system enn ASCII og ISO 8859-1, men for å bevare kompatibiliteten mot disse er de første 128 tegnene i Unicode identiske med ASCII og de første 256 tegnene identiske med ISO 8859-1.
Som nevnt tidligere skal man for å representere spesialtegn som f.eks å i Unicode i utgangspunktet skrive de som basistegnet, i dette tilfellet a, etterfulgt av et eller flere kombinasjonstegn som kalles diakritiske markeringer. I dette tilfelle trenger vi en ° som kalles for en armstrong eller ring above. Setter vi disse tegnene, a som har koden 0x61 og ° som har koden 0xB0, sammen får vi å. Hovedregelen er som sagt at vi skal skrive spesialtegn som å ved hjelp av diakritiske markeringer, men for å ha kompatibilitet mot ASCII og ISO 8859-1 finnes det også sammensatte tegn for å representere disse (de har da de samme plassene og kodene i Unicode som i ASCII og ISO8859-1). De sammensatte tegnene oppfattes som ett tegn. Hvis man skal sammenligne tekster burde de være normalisert til å bruke en form for å representere spesialtegn. Det vanligste er at man kun bruker diakritiske markeringer og erstatter alle sammensatte tegn med dette.
For å kode unicode om til noe som kan sendes mellom maskiner brukes en standard som kalles UTF, eller Unicode Transformation Format. UTF finnes i tre forskjellige former: UTF-8, UTF-16 og UTF-32. UTF-8 sender tegn enten som 8-, 16- eller 32-bits kode. Alle tegn i ASCII sendes som 8-bits kode. UTF-16 sender alle tegn i the Basic Multilingual Plane som 16-bits kode og andre tegn som surrogat-par. UTF-32 sender absolutt alle tegn som 32-bits kode.
Kilder:
www.unicode.org
www.caplex.no
www.britannica.com
Foiler fra
INF1040 forelesning om tekst