HTML Info

HTML Karaktersets

  • Om een HTML pagina correct weer te geven moet de browser weten welke karakterset er is gebruikt.
  • De karakterset in het begin van het world wide web (www)was ASCII.
    Deze ondersteunde de cijfers 0 - 9, de hoofdletters en kleine letters van het Engelse alfabet en enkele speciale karakters.
  • Omdat vele landen karakters gebruiken welke geen deel uimaken van ASCII, is de standaard karakterset voor moderne browsers ISO-8859-1.
  • Waneer een webpagina gebruik maakt van een andere karakterset moet deze worden gespecificeert in een <meta> tag.

ISO-karaktersets

  • Het is de International Standards Organization (ISO) die de standaard karaktersets voor de verschillende alfabetten/talen definieert.
  • Hieronder een lijst van de (ISO) karaktersets welke werelwijd worden gebruikt :
Karakterset Beschrijving Gebruik
ISO-8859-1 Latin-1 Noord- en Zuid-Amerika, West-Europa, Oceanië en grote delen van Afrika.
ISO-8859-2 Latin-2 Oost-Europa
ISO-8859-3 Latin-3 Zuid-Europa, ontworpen voor Turks, Maltees en Esperanto
ISO-8859-4 Latin-4 Noord-Europa, ontworpen voor Baltische staten, Groenlands en Sami
ISO-8859-5 Cyrillisch Voor talen die gebruik maken van het Cyrillisch alfabet
ISO-8859-6 Arabisch Voor talen die gebruik maken van Arabische lettertekens
ISO-8859-7 Grieks Voor zowel de moderne Griekse taal als de wiskundige symbolen die zijn afgeleid van het Grieks alfabet
ISO-8859-8 Hebreeuws Voor talen die gebruik maken van Hebreeuwse lettertekens
ISO-8859-9 Latin-5 Turks. Zelfde als ISO-8859-1 maar de IJslandse karakters werden vervangen door de Turkse
ISO-8859-10 Latin-6 herschikking van 8859-4 De Noordse talen, Laps en Eskimo (Inuktitut)
ISO-8859-15 Latin-9 (aka Latin-0) Zelfde als ISO 8859-1 maar enkele minder gebruikelijke symbolen werden vervangen, en het Euro-teken werd toegevoegd
ISO-2022-JP Japans deel 1 Japanse lettertekens
ISO-2022-JP-2 Japans deel 2 Japanse lettertekens
ISO-2022-KR Koreaans deel 1 Koreaanse lettertekens

naar boven 

De Unicode Standaard

  • Unicode is een internationale standaard voor de codering van binaire codes naar grafische tekens en symbolen, vergelijkbaar met de ASCII-standaard.
    De standaard voorziet alle tekens en symbolen ("karakters") van alle geschreven talen van een nummer.
    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 momenteel 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 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 symbolen in Unicode hebben alleen een betekenis in druk- of zettechnische zin, zoals: de niet-afbrekende 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 b.v. bij EBCDIC (space, lowercase, uppercase, numeric (=SLUN)) verkregen wordt, omdat de tekens anders gerangschikt zijn.

naar boven 

tip

De eerste 256 karakters van de Unicode karaktersets zijn dezelfde als de 256 karakters van ISO-8859-1 !

Codering

  • De Unicodestandaard kent aan elk teken een volgnummer toe, dat geschreven wordt als U+xxxx, waarin xxxx de 4- tot 6-cijferige hexadecimale waarde van het volgnummer is.
    Daarnaast biedt Unicode een aantal mogelijke coderingen hiervoor, dat wil zeggen hoe deze waarden gerepresenteerd kunnen worden:
    • UTF-8: Tekens worden opgeslagen als een tot vier 8-bits getallen, afhankelijk van de hun toegekende waarde. In deze codering blijven ASCII-teksten onveranderd.
    • UTF-16: Tekens worden opgeslagen als een of twee 16-bits getallen, afhankelijk van de hun toegekende waarde. UTF-16 is een uitbreiding van UCS-2, de codering van Unicode t/m versie 1.1. De 2048 codes U+D800 t/m U+DFFF kunnen niet in UTF-16 worden gerepresenteerd, en worden daarom niet gebruikt.
    • UTF-32: Aangezien de grootst mogelijke waarde 21 bits beslaat, ligt het voor de hand om elke waarde als 32-bits getal op te slaan. Een nadeel is dat ASCII-bestanden in Unicode daardoor 4 keer zo groot worden.
  • Aangezien computers getallen die meerdere bytes beslaan op verschillende wijzen kunnen opslaan, zijn er van UTF-32 en UTF-16 twee varianten mogelijk, nl. big-endian, waarbij het meest significante byte zich op het laagste adres bevindt, en little-endian, met het minst significante byte eerst.
  • De 256 codes van ISO-8859-1 zijn in Unicode onder dezelfde waarden opgenomen: U+0000 t/m U+00FF.
    De tweede 128 hiervan kunnen echter, ongeacht de gekozen codering, niet in één byte worden gerepresenteerd.
    Ook andere codepagina's van ISO 8859 vinden we in Unicode terug, waarbij de oorspronkelijke tekenvolgorde gehandhaafd is.

naar boven 

Verschil HTML - XHTML

HTML 4 ondersteunt UTF-8

XHTML en XML ondersteunt UTF-8 en UTF-16

naar boven terug naar structuur naar boven
naar structuur naar boven