Vad är teckenkodning?

Teckenkodning, i datorprogrammering, är en metod eller algoritm som används för att hitta en vanligtvis numerisk representation av ett tecken, glyf eller symbol. Användningen av teckenkodning i datorer är nödvändig eftersom information i datorns minne och på datorläsbara media lagras som sekvenser av bitar eller siffror. Detta kräver användning av kodning för att översätta icke-numeriska tecken som används för visning eller läsbar utdata till en form som en dator kan manipulera. I en mer specifik applikation kan HTML-dokument (HyperText Markup Language) som läses av webbläsare definiera vilken typ av teckenkodning de använder för att låta webbläsaren veta vilken specifik teckenuppsättning som ska användas när informationen i dokumentet visas. Det finns flera kodningsscheman som används, även om många av dessa proprietära och äldre uppsättningar långsamt ersätts av Unicode®-kodningsstandarden.

I datorernas tidiga dagar, när det fanns begränsat minnesutrymme, lagrades de grundläggande tecknen i det engelska alfabetet – inklusive skiljetecken och siffror – i 7-bitarssekvenser som tillåter 128 olika tecken. I detta ursprungliga schema representerade varje 7-bitars byte ett tecken i det engelska alfabetet, numrerat i följd. Denna teckenkodning var effektiv och standardiserades så småningom och användes i de flesta datorer som producerades. Även om kodningssystemet utvecklades till Unicode®-kodningsstandarden förblev konceptet detsamma. Varje enskilt tecken på ett språk är nämligen direkt relaterat till ett enda nummer inom en stor standardteckenuppsättning, och det numret är vad en dator använder för att lagra, bearbeta och indexera tecknet.

Andra typer av teckenkodning utvecklades av olika anledningar. Vissa som var specifikt anpassade till det engelska alfabetet och avsedda att användas för text mappade bara sina tecken på 7-bitarssekvenser och spred dem sedan över 8-bitars byte, eller oktetter. Detta hade effekten av att spara 1 bit per oktett, och effektivt använda teckenkodning som en typ av komprimering. Andra kodningsscheman försökte tillhandahålla basinformation om ett tecken och sedan ytterligare tecken för att representera speciella accenter som kunde användas när man skrev på ett annat språk, även om dessa till stor del övergavs för de enklare en-till-en-kodningsmetoderna.

I HTML-dokument är teckenkodning ungefär densamma som det bredare konceptet, förutom att kodningen som definieras omfattar en hel uppsättning tecken. Detta kan vara viktigt inte bara för främmande språk, utan för dokument som använder specifika symboler för naturvetenskap eller matematik som inte finns i alla teckenuppsättningar. Det kan också vara användbart för att använda skiljetecken och andra glyfer som kanske inte finns eller är mappade annorlunda över kodningsscheman. Dokument som inte korrekt definierar en icke-standard teckenkodning kan visas felaktigt eller fyllas med meningslösa tecken och platshållare istället för läsbar information.