En teckenkod (engelska character encoding) är ett sätt att representera, koda, en vald uppsättning tecken, med till exempel elektriska pulser eller tal. Detta används när man vill lagra eller överföra text på något tekniskt sätt, inte vanliga skrivtecken. Ett tidigt exempel är Morsealfabetet, där tecknen representeras av långa och korta pulser. Numera menar man med teckenkodning oftast någon form av binär digital kodning som används vid kommunikation och datalagring i datorer. De flesta teckenkodningar som används, och har använts, är avsedda att användas i datasystem. Undantaget är Morse-kodningar, som inte lämpar sig så väl för detta ändamål.

Alla datorsystemtillverkare har gjort sina egna teckenkodningar, till exempel IBM med sin serie EBCDIC-baserade teckenkodningar. En tidig amerikansk standard som fick spridning hos många datorsystemtillverkare var ASCII. De flesta teckenkodningar som definierats är baserade på ASCII, till exempel Microsoft med sin serie teckenkodningar för MS-DOS, senare för Windows, och Apple med sin serie teckenkodningar för MacOS. Även ISO och många nationella standardiseringsorgan har definierat ASCII-baserade teckenkodningar, till exempel ISO/IEC 8859-serien och EUC-JP (som egentligen är en sammanställning av ett flertal japanska teckenstandarder), varav många används främst i Unix/Linux.

Datautbyte och kommunikation mellan datorer kan kräva konverteringar mellan olika teckenkodningar. Detta leder till svårigheter, då teckenuppsättningen inte är densamma mellan de olika kodningarna, särskilt för andra språk än engelska. Ett annat problem är att en kodning i allmänhet har stöd bara för ett eller några skriftsystem, varvid flerspråkiga dokument är svårhanterliga. För att råda bot på detta, började både ISO och ett konsortium av datorsystemtillverkare var för sig att definiera en "universell" teckenkodning. Arbetet dem emellan är numera synkroniserat, så att man inte har två "universella" teckenkodningar, utan en. ISO har utarbetat ISO/IEC 10646, som är synkroniserat med Unicodekonsortiets Unicode vad gäller teckenuppsättning och kodningar.

Se även redigera