Teckenkodning

När man lagrar olika sorters tecken i Java utgår man från en teckenuppsättning eller teckenlista:

  • Stora bokstäver: A, B, C, ….
  • Små bokstäver: a, b, d, ….
  • Siffror: 0, 1, 2, —-
  • Andra tecken: +, %, <, …..

Teckenkodning

Teckenkodning talar om för datorer hur man tolkar digital data till bokstäver, siffror och symboler. Detta görs genom att tilldela ett specifikt numeriskt värde till en bokstav, siffra eller symbol. Dessa bokstäver, siffror och symboler klassificeras som ”tecken”. Tecken är grupperade i specifika ”teckenuppsättningar” som associerar var och en med ett numeriskt värde. Dessa tecken lagras sedan som en eller flera byte.

När du matar in tecken via ett tangentbord eller på annat sätt, mappar teckenkodning dem till de associerade byten i datorns minne. Detta gör att datorn kan visa tecknen korrekt. Utan korrekt kodning kommer datorn inte att kunna förstå tecknen och visa rätt information. Det innebär att korrekt teckenkodning används, annars utdata kan visas så här till exempel:

Korrekt teckenkodning m▯ste an▯v▯ndas.

Typer av teckenkodning

Fram till början av 1960-talet skapade datorprogrammerare ad-hoc-konventioner (anpassade teckenkodning) för att representera karaktärer internt. Vissa datorer skiljde på stora och små bokstäver, men de flesta gjorde det inte. Tekniken fungerade eftersom informationen vanligtvis i en och samma dator. Men när informationsutbyte blev ett viktigt övervägande behövde programmerare en standardkod som gjorde det möjligt för data att flytta mellan olika datormodeller. Detta ledde (1963) till utvecklingen av ASCII (American Standard Code for Information Interchange).

Med ASCII-koden var vanlig att representera engelska tecken, med varje bokstav tilldelad ett numeriskt värde från 0 till 127, alltså 7-bitars teckenkod. De flesta moderna teckenkodningsunderuppsättningar är baserade på ASCII-teckenkodningsschemat och stöder flera ytterligare tecken.

ANSI/Windows-1252

När operativsystemet Windows dök upp 1985, antogs snabbt en ny standard som kallas ANSI-teckenuppsättningen. ”ANSI” var också känd som Windows-kodtabeller även om det inte hade något att göra med American National Standards Institute.

Windows-1252 eller CP-1252 teckenkodning blev populär med tillkomsten av Microsoft Windows, men ersattes så småningom när Unicode implementerades i Windows. Unicode, som släpptes första gången 1991, tilldelar en universell kod till varje tecken och symbol för alla språk i världen.

ISO-8859-1

ISO-8859-1 (även känd som Latin-1) teckenkodning innehåller alla tecken i Windows-1252, inklusive en utökad undergrupp av skiljetecken och affärssymboler. Denna standard var lätt att transportera över flera ordbehandlare och till och med på versioner av HTML 4.

Den första utgåvan publicerades 1987 och var en direkt förlängning av ASCII-teckenuppsättningen. Även om stödet var omfattande för sin tid, var formatet fortfarande begränsat.

UTF-8

Efter debuten av ISO-8859-1, omgrupperade Unicode konsortiet för att utveckla mer universella standarder för transportabel teckenkodning.

UTF-8 (Unicode Transformation-8-bit) är nu det mest använda teckenkodningsformatet på webben, eftersom det fungerar som en mappningsmetod inom Unicode. UTF-8 förklarades obligatoriskt för webbplatsinnehåll av Web Hypertext Application Technology Working Group, en grupp människor som är intresserade av att utveckla HTML-standarden och relaterade teknologier.

UTF-8 designades för full bakåtkompatibilitet med ASCII.

Unicode

I grunden arbetar datorer bara med ettor och nollor, det vill säga med tal (ett antal ettor och nollor som betyder något). Datorer lagrar bokstäver och andra tecken genom att ha olika tal för var och en av dem. Innan Unicode uppfanns, fanns det flera olika kodningssystem för att associera tecken med tal. Men ingen enskild av dessa kodningar kunde representera tillräckligt många tecken.

Dessa kodningssystem är också motstridiga, i den meningen att två kodningar kan använda samma nummer för olika tecken, eller olika nummer för samma tecken. En dator (speciellt om det är en serverdator) måste därför kunna hantera flera olika teckenkodningar. Men det finns ändå en risk för att texten mer eller mindre förstörs när teckenkodad textdata skickas med olika kodningar, eller mellan olika datorplattformar.

Unicode adresserar varje tecken med ett unikt nummerisk identifikation, oavsett plattform, oavsett program, oavsett språk. Unicode-standarden har blivit antagen av ledande företag inom IT-industrin, såsom Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, och många fler.

Om Unicode-konsortiet

Unicode-konsortiet är en icke-vinstdrivande organisation grundad för att utveckla, utvidga och främja bruket av Unicode-standarden, vilken specificerar representation av text i moderna program och IT-standarder. Medlemmarna i konsortiet representerar ett brett spektrum av företag och organisationer inom dator- och IT-sektorn. Konsortiet finansieras enbart genom medlemskapsavgifter. Medlemskap i Unicode-konsortiet är öppet för organisationer och individer över hela världen, vilka stödjer Unicode-standarden och önskar bidra till dess utvidgning och implementation.