Wikisage, de vrije encyclopedie van de tweede generatie, is digitaal erfgoed

Wikisage is op 1 na de grootste internet-encyclopedie in het Nederlands. Iedereen kan de hier verzamelde kennis gratis gebruiken, zonder storende advertenties. De Koninklijke Bibliotheek van Nederland heeft Wikisage in 2018 aangemerkt als digitaal erfgoed.

  • Wilt u meehelpen om Wikisage te laten groeien? Maak dan een account aan. U bent van harte welkom. Zie: Portaal:Gebruikers.
  • Bent u blij met Wikisage, of wilt u juist meer? Dan stellen we een bescheiden donatie om de kosten te bestrijden zeer op prijs. Zie: Portaal:Donaties.

Unicode

Uit Wikisage
Versie door SjorsXY (overleg | bijdragen) op 12 mei 2010 om 19:09 (Unicode is een internationale standaard voor de codering van binaire codes naar grafische tekens en symbolen. ([http://nl.wikipedia.org/w/index.php?title=Unicode&oldid=20758842]))
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen

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.

Geschiedenis

De eerste computers werkten alleen met getallen, bij latere computers ontstond ook de behoefte om bij uitvoer bij getallen aan te geven wat zij voorstelden, weer later werden computers voor tekstverwerking en gegevensopslag ingezet. Hierbij worden tekens intern door getallen gerepresenteerd. Aanvankelijk hadden veel computerfabrikanten hier hun eigen tekenverzameling en -representatie voor. Veel systemen maakten bijvoorbeeld geen onderscheid tussen hoofd- en kleine letters. Later gingen veel fabrikanten over op ASCII, maar ook andere codes bleven in gebruik, b.v. EBCDIC.

ASCII, een 7-bits code, omvat maar een beperkt aantal tekens, 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, waarbij afzonderlijk moet worden aangegeven welke variant gebruikt werd. Hier is geen standaardmethode voor, 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.

Versies

De Unicodestandaard is ontstaan op initiatief van een aantal organisaties die orde wilden scheppen in de chaos van tekencoderingen. In 1991 lanceerden zij hun eerste standaard: Unicode 1.0.

Unicode is tweemaal uitgebreid (1.0.1 en 1.1) aan de op dat moment actuele ISO-10646. Unicode 1.1 had ruimte voor 65.536 (= 216) tekens. Dit aantal bleek echter te weinig om alle schriften van de wereld te kunnen ondersteunen. Zo bestaat alleen het Chinese schrift al uit zo'n 25.000 tekens.

In Unicode 2.0 werd het aantal codes uitgebreid naar ruim een miljoen, 1.114.112 om precies te zijn (220 + 216), waarvan overigens een aantal niet gebruikt kunnen worden, bijvoorbeeld ten behoeve van de UTF-16-codering.

Versie Datum Aantal tekens ISBN Opmerking
1.0 oktober 1991 28.302 ISBN 0-201-56788-1
1.0.1 juni 1992 ? ISBN 0-201-56788-1 Aantal tekens verwijderd om te voldoen aan de huidige: ISO/IEC 10646-1.
1.1 juni 1993 34.169 Nieuwe tekens toegevoegd om te voldoen aan de bijgewerkte: ISO/IEC 10646-1.
2.0 juni 1996 38.885 ISBN 0-201-48345-9 Eerste versie van Unicode die meer dan 65.536 tekens ondersteunt
2.1 mei 1998 38.887
3.0 september 1999 49.194 ISBN 0-201-61633-5
3.1 maart 2001 94.140 Zeer veel Chinese karakters toegevoegd
3.2 maart 2001 95.156
4.0.0 april 2003 98.561 ISBN 0-321-18578-1
4.0.1 maart 2004 99.787
4.1 maart 2005 101.060
5.0 juni 2006 101.203 ISBN 0-321-48091-0 Tekens toegevoegd voor Indische talen, wiskunde, minderheidstalen en academisch gebruik.
5.2 oktober 2009 107.296 ISBN 978-1-936213-00-9

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-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.
  • 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-8: Tekens worden opgeslagen als een tot vier 8-bits getallen, afhankelijk van de hun toegekende waarde. In deze codering blijven ASCII-teksten onveranderd.

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.

Ondersteuning van schriften

Op het moment biedt Unicode ondersteuning voor elk van onderstaande schriften:

Het aantal schriften wordt nog voortdurend uitgebreid. Ook veel historische schriften worden opgenomen.

Zie ook

Externe links

1px.pngWikimedia Commons  Zie ook de categorie met mediabestanden in verband met Unicode op Wikimedia Commons.