Basiskennis informatica/Codering/Unicode: verschil tussen versies

Uit Wikibooks
Verwijderde inhoud Toegevoegde inhoud
Mattias.Campe (overleg | bijdragen)
Geen bewerkingssamenvatting
Mattias.Campe (overleg | bijdragen)
Regel 7: Regel 7:
* [[w:UTF-32|UTF-32]]: voor de codering worden 32 bits gebruikt (dit zijn dus 2<sup>32</sup> = ± 4 miljard mogelijkheden). Een nadeel is dat ASCII-bestanden in Unicode daardoor 4 keer zo groot worden.
* [[w:UTF-32|UTF-32]]: voor de codering worden 32 bits gebruikt (dit zijn dus 2<sup>32</sup> = ± 4 miljard mogelijkheden). Een nadeel is dat ASCII-bestanden in Unicode daardoor 4 keer zo groot worden.
* [[w:UTF-16|UTF-16]]: tekens worden opgeslagen als een of twee 16-bits getallen, afhankelijk van de hun toegekende waarde.
* [[w:UTF-16|UTF-16]]: tekens worden opgeslagen als een of twee 16-bits getallen, afhankelijk van de hun toegekende waarde.
* [[w:UTF-8|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. Met een hex-editor merk je dat zo'n bestand vaak begint met EF BB BF.
* [[w:UTF-8|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.


Om te weten in welke codering een bestand is opgeslagen, wordt vaak gebruik gemaakt van de [[w:en:Byte order mark|Byte order mark]] (BOM). Zo merk je met een hex-editor dat een UTF-8-bestand vaak begint met <code>EF BB BF</code> en een UTF-16 bestand vaak met <code>FE FF</code> (of <code>FF FE</code> bij [[w:Endianness#Little-endian|little endian]]).
Om te weten in welke codering een bestand is opgeslagen, wordt vaak gebruik gemaakt van de [[w:en:Byte order mark|Byte order mark]] (BOM). Zo merk je met een hex-editor dat een bestand gecodeerd in UTF-8 vaak begint met <code>EF BB BF</code>, een bestand in UTF-16 vaak met <code>FF FE</code> (of <code>FE FF</code> bij [[w:Endianness#Big-endian|Big-endian]]) en een bestand in UTF-32 vaak met <code>00 00 FE FF</code> (of <code>FF FE 00 00</code> bij [[w:Endianness#Big-endian|Big-endian]])
{{Sub}}
{{Sub}}

Versie van 18 sep 2017 15:11

Unicode

Voor West-Europese talen was de ASCII-codering werkbaar, maar niet in een internationale context: om alle talen te kunnen voorstellen, zijn er namelijk veel meer dan de 256 tekens die met ASCII mogelijk zijn. Om dit op te lossen werd Unicode ontwikkeld: een internationale standaard voor de binaire codering van tekens en symbolen ("karakters") van alle geschreven talen.

Naast letters en cijfers bevat Unicode ook veel symbolen, zoals: kruisen, wiskundige tekens, muntsymbolen enzovoort. Het bevat geen symbolen die niet in een schrift worden gebruikt, zoals verkeersborden. De standaard wordt onderhouden door het Unicode Consortium. De standaard bevat momenteel ruim 100.000 gestandaardiseerde tekens en ongeveer 900.000 voor toekomstig gebruik gereserveerde codes.

Om dit concreet te kunnen coderen op een pc biedt Unicode een aantal mogelijke coderingen:

  • UTF-32: voor de codering worden 32 bits gebruikt (dit zijn dus 232 = ± 4 miljard mogelijkheden). 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-8: tekens worden opgeslagen als een tot vier 8-bits getallen, afhankelijk van de hun toegekende waarde. In deze codering blijven ASCII-teksten onveranderd.

Om te weten in welke codering een bestand is opgeslagen, wordt vaak gebruik gemaakt van de Byte order mark (BOM). Zo merk je met een hex-editor dat een bestand gecodeerd in UTF-8 vaak begint met EF BB BF, een bestand in UTF-16 vaak met FF FE (of FE FF bij Big-endian) en een bestand in UTF-32 vaak met 00 00 FE FF (of FF FE 00 00 bij Big-endian)

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.