Wat is tekencodering?
Karaktercodering, in computerprogrammering, is een methode of algoritme dat wordt gebruikt om een meestal numerieke weergave van een teken, glyph of symbool te vinden. Het gebruik van tekencodering in computers is noodzakelijk omdat informatie in het computergeheugen en op computerleesbare media wordt opgeslagen als reeksen bits of getallen. Dit vereist het gebruik van codering om niet-numerieke tekens die worden gebruikt voor weergave of door mensen leesbare uitvoer te vertalen in een vorm die een computer kan manipuleren. In een meer specifieke toepassing kunnen HTML-documenten (HyperText Markup Language) die worden gelezen door webbrowsers bepalen welk type tekencodering ze gebruiken om de browser te laten weten welke specifieke tekenset hij moet gebruiken bij het weergeven van de informatie in het document. Er zijn verschillende coderingsschema's in gebruik, hoewel veel van deze gepatenteerde en oudere sets langzaam worden vervangen door de Unicode®-coderingsstandaard.
In de begindagen van computers, toen er beperkte geheugenruimte was, werden de basistekens van het Engelse alfabet - inclusief leestekens en cijfers - opgeslagen in 7-bits reeksen waardoor 128 verschillende tekens konden worden gebruikt. In dit oorspronkelijke schema vertegenwoordigde elke 7-bits byte één teken van het Engelse alfabet, op volgorde genummerd. Deze karaktercodering was efficiënt en werd uiteindelijk gestandaardiseerd en gebruikt in de meeste computers die werden geproduceerd. Hoewel het coderingssysteem evolueerde naar de Unicode®-coderingsstandaard, bleef het concept hetzelfde. Elk afzonderlijk teken in een taal is namelijk direct gerelateerd aan een enkel nummer binnen een grote standaardtekenset, en dat nummer gebruikt een computer om het teken op te slaan, te verwerken en te indexeren.
Andere soorten karaktercodering zijn om verschillende redenen ontwikkeld. Sommigen die specifiek op het Engelse alfabet waren gericht en bedoeld waren om te worden gebruikt voor tekst, brachten hun karakters alleen in reeksen van 7 bits aan en verspreidden ze vervolgens over 8-bits bytes of octetten. Dit had het effect dat 1 bit per octet werd bespaard, waarbij karaktercodering effectief als een soort compressie werd gebruikt. Andere coderingsschema's probeerden basisinformatie over een personage te geven, en vervolgens extra tekens om speciale accenten te vertegenwoordigen die kunnen worden gebruikt bij het schrijven in een andere taal, hoewel deze grotendeels werden opgegeven voor de eenvoudigere één-op-één coderingsmethoden.
In HTML-documenten is tekencodering ongeveer hetzelfde als het bredere concept, behalve dat de codering die wordt gedefinieerd een hele reeks tekens omvat. Dit kan niet alleen belangrijk zijn voor vreemde talen, maar voor documenten die specifieke symbolen voor wetenschap of wiskunde gebruiken die niet in alle tekensets aanwezig zijn. Het kan ook nuttig zijn voor het gebruik van interpunctie en andere glyphs die mogelijk niet aanwezig zijn of anders worden toegewezen in verschillende coderingsschema's. Documenten die niet correct een niet-standaard tekencodering definiëren, kunnen onjuist worden weergegeven of worden gevuld met onzinnige tekens en tijdelijke aanduidingen in plaats van leesbare informatie.