Digital Representasjon Av 'ø'

Innledning

'ø' brukes i Norge, Danmark og færøysk. I Sverige, Island, tyskland, Ungarn og Tyrkia brukes 'ö'. I frankrike brukes 'œ', som er en sammenskrivning av o og e.


http://www.caplex.no

Her skal jeg bare ta for meg liten 'ø' og ikke stor 'Ø'.

ASCII

ASCII koding ble laget i 1963 for å kode tekster slik at datamaskinen forstår teksten. Det er til sammen 2 7 = 128 tegn som ASCII kan representere. Hvert tegn blir presentert i sju biter, der hver bit er enten en '0' eller en '1'. ASCII kan bare representere amerikanske tegn. De norske bokstavene 'æ', 'ø' og 'å' er for eksempel ikke med i ASCII.

ISO 646-60

ISO 646-60 ble laget for å kunne representere de norske bokstavene 'æ', 'ø' og 'å'. Den bygger på ASCII, men tegnene [, \, ], {, | og } ble ofret til fordel for Æ, Ø, Å, æ, ø og å. Det ble gjort liknende forandringer med ASCII i andre språk også. ISO 646-60 er den minste plass krevende blant de standardene som kan representere 'ø' som er nevnt her.

ISO 8859 (Extended ASCII)

I 1968 kom den ekspanderte ASCII. Den såkalte ISO 8859 serien. Den representerer hvert tegn med 8 biter. Hver kodetabell i denne serien kan ha opptil 28 = 256 tegn. De norske bokstavene som er nevnt over er for eksempel representert i ISO 8859-1 (Latin-1).

Windows 1252

Ulike dataprodusenter som IBM og Microsoft har også gitt ut sine egne tegnsett. Windows 1252 kommer fra Microsoft. Den bygger på ISO 8859-1. De er faktisk nesten like. Forskjellen er at den udefinerte delen i ISO 8859-1, som er fra og med 0x80 og til og med 0x9F, er definert i Windows 1252.

Unicode og ISO 10646 (Den endelige løsningen)

Unicode og ISO 10646 er identiske med hverandre. Forskjellen bare er at unicode har delt opp presentasjonen av forskjellig antall bytes i USC-1, USC-2 og USC-4. Vi skal komme tilbake til disse senere. Unicode kan håndtere 231 tegn. Unicode og ISO 10646 kan representere all tegn fra hvilken som helst plattform (standard). Tegnsettet er oppdelt i 17 plan med 216 tegn i hver plan. Plan 0 eller BMP (Basic Multilingual Plane) inneholder tegn som vi vanligvis bruker til daglig. Tegn fra ISO 8859-1 kan man gjenkjenne fra dette planet.

UTF-16 = UCS-2

Den sender tegn i BMP som 16-biters tegn.

UTF-32 = UCS-4

Den sender tegn som 32-biters tegn. Lite brukt, siden de vanligste tegnene folk flest bruker bruker bare 8 biter, for eksempel tegn fra ASCII. Bruk av UTF-32 for tegn som kan representeres med bare 8 biter fører bare til bruk av unødvendig plass. Bokstaven 'h' i UTF-32 blir 00000000 00000000 00000000 01101000 i binært koding, mens den bare er 01101000 i UTF-8. En fordel kanskje med 32biters tegn er at den kan representere sære bokstaver som 'å' på to måter. Siden å kan ses på som bokstaven a med den diakritiske markeringen °. 'å kan derfor representeres som 0xE5 eller som U+0061 + U+030A. Samme kan gjøres med ø! Blant standardene som blir nevnt her, er UTF-32 den mest plass krevende.

UTF-8 = UCS-1

Den sender tegn i ulike antall bytes avhengig av hvor mange biter et bestemt tegn trenger for å bli representert digitalt. Dette er den ideelle versjonen av unicode synes jeg personlig.


Standard Hex Binært Desimal Fast/Variabel lengde Antall biter pr. tegn
ASCII --- --- --- Fast 7
ISO 646-60*** 0x7C 01 11 11 00 124 Fast 7
ISO 8859-1 0xF8 11 11 10 00 248 Fast 8
UTF-8 0xF8 11 11 10 00* 248 Variabel 8, 16, 24, 32
UTF-16 0x00F8 00 00 00 00 11 11 10 00 248 Fast 16
UTF-32** 0x000000F8 00 00 00 00 00 00 00 00 00 00 00 00 11 11 10 00 248 Fast 32
Windows 1252 0xF8 11 11 10 00 248 Fast 8

Hvis man skal skrive tegnet ø i en xhtml/html fil, så er det vanlig at man bruker en av disse formene; 1) ø 2)ø 3)ø. Hvis man skriver tegnet ø rett inn så vil en del nettlesere få vanskeligheter med å tolke tegnet.

* Siden 'ø' kan representeres med bare 8 biter så blir den binære representasjon for 'ø' bare 8 biter.
** Mest plasskrevende
*** Minst plasskrevende

Kilder;
http://codeworks.gnomedia.com/articles/article003.php
http://www.unicode.org
http://www.w3.org
Forelesnings hefter i INF 1040


Hjem
Konvertering fra tekst til tall
Sist oppdatert 08.10.20004 av dflaguti@student.matnat.uio.no

Valid XHTML 1.0!