Codificación de caracteres
La codificación de caracteres es el método que permite convertir un carácter de un lenguaje natural (como el de un alfabeto o silabario) en un símbolo de otro sistema de representación, como un número o una secuencia de pulsos electrónicos en un sistema electrónico aplicando normas o reglas de codificación.

Definen la forma en la que se codifica un carácter dado en un símbolo en otro sistema de representación. Ejemplos de esto son el código Morse, la norma ASCII o la UTF-8, entre otros.

ASCII  
Por estar íntimamente ligado al octeto (y por consiguiente a los enteros que van del 0 al 127), el problema que presenta es que no puede codificar más que 128 símbolos diferentes (128 es el número total de diferentes configuraciones que se pueden conseguir con 7 dígitos binarios o digitales (0000000, 0000001, …, 1111111), usando el octavo dígito de cada octeto (bit o dígito de paridad) para detectar algún error de transmisión). Un cupo de 128 es suficiente para incluir mayúsculas y minúsculas del abecedario inglés, además de cifras, puntuación, y algunos «caracteres de control» (por ejemplo, uno que instruye a una impresora que pase a la hoja siguiente), pero el ASCII no incluye ni los caracteres acentuados ni el comienzo de interrogación que se usa en castellano, ni tantos otros símbolos (matemáticos, letras griegas, …) que son necesarios en muchos contextos.

ASCII Extendido 
Debido a las limitaciones del ASCII se definieron varios códigos de caracteres de 8 bits, entre ellos el ASCII extendido.
Sin embargo, el problema de estos códigos de 8 bits es que cada uno de ellos se define para un conjunto de lenguas con escrituras semejantes y por tanto no dan una solución unificada a la codificación de todas las lenguas del mundo. Es decir, no son suficientes 8 bits para codificar todos los alfabetos y escrituras del mundo.

Unicode 
Como solución a estos problemas, desde 1991 se ha acordado internacionalmente utilizar la norma Unicode, que es una gran tabla, que en la actualidad asigna un código a cada uno de los más de cincuenta mil símbolos, los cuales abarcan todos los alfabetos europeos, ideogramas chinos, japoneses, coreanos, muchas otras formas de escritura, y más de un millar de símbolos locales.

Normas de Transmisión 

Las normas de transmisión tienen como objetivo definir la forma en que los caracteres codificados (utilizando las normas de codificación) son transmitidos en el canal de comunicaciones (por ejemplo Internet)

Actualmente, en Internet los mensajes se transmiten en paquetes que siempre constan de un número entero de octetos, y la detección de error ya no se hace con el octavo dígito de cada octeto, sino con octetos especiales que automáticamente se agregan a cada paquete. Las normas de transmisión se limitan a especificar una correspondencia, reversible, entre códigos (que representan caracteres), y secuencias de octetos (que han de ser transmitidos en calidad de datos).

Tablas tipográficas 

Pero, finalmente, para cartearse electrónicamente en chino simplificado (por ejemplo) falta un detalle importante:

La tabla que el Consorcio Unicode publica para ser leída por humanos, contiene una representación gráfica o descripción, de cada carácter incluido hasta ese momento; pero los sistemas de visualización de documentos, para funcionar, requieren tablas de tipografía, que asocian un glifo (dibujo) a cada carácter que abarcan, y sucede que hay muchísimas tablas de tipografía, con nombres como Arial o Times, que dibujan una misma letra con base en matrices diferentes y en diferentes estilos («A» o «A»); sin embargo, la gran mayoría de las fuentes tipográficas contienen solo un pequeño subconjunto de todos los caracteres Unicode.

Normas comunes de codificación de caracteres 

 ISO 646
 ASCII
 EBCDIC
 CP930 
 ISO 8859:
 ISO 8859-1 Europa occidental
 ISO 8859-2 Europa occidental y Centroeuropa (checo, polaco, croata, rumano, esloveno, …)
 ISO 8859-3 Europa occidental y Europa del Sur
 ISO 8859-4 Europa occidental y países bálticos (lituano, estonio y lapón)
 ISO 8859-5 alfabeto cirílico
 ISO 8859-6 árabe
 ISO 8859-7 griego
 ISO 8859-8 Hebreo
 ISO 8859-9 Europa occidental con el juego de caracteres turco
 ISO 8859-10 Europa occidental con juegos de caracteres nórdicos, incluyendo el de Islandia.
 ISO 8859-11 tailandés
 ISO 8859-13 idiomas bálticos y polaco
 ISO 8859-14 idiomas celtas (gaélico irlandés, escocés, galés)
 ISO 8859-15 Añade el símbolo de Euro y otros a ISO 8859-1
 ISO 8859-16 idiomas centroeuropeos (polaco, checo, esloveno, eslovaco, húngaro, albano, rumano, alemán e italiano)
 CP437, CP737, CP850, CP852, CP855, CP857, CP858, CP860, CP861, CP863, CP865, CP866, CP869
 Juegos de caracteres de Windows:
 Windows-1250 para idiomas centroeuropeos que utilizan un guion latino (polaco, checo, eslovaco, húngaro, esloveno, serbio, croata, rumano y albano)
 Windows-1251 para alfabetos cirílicos
 Windows-1252 para idiomas occidentales
 Windows-1253 para griego
 Windows-1254 para turco
 Windows-1255 para hebreo
 Windows-1256 para árabe
 Windows-1257 para idiomas bálticos
 Windows-1258 para vietnamita
 Mac OS Roman
 KOI8-R, KOI8-U, KOI7
 MIK
 Cork o T1
 ISCII
 VISCII
 Big5
 HKSCS
 Guobiao
 GB2312
 GBK (Página de códigos 936 de Microsoft)
 GB18030
 Shift JIS para Japonés (Página de códigos 932 de Microsoft)
 EUC-KR para Coreano (Página de códigos 932 de Microsoft)
 ISO-2022 y EUC para juegos de caracteres CJK
 Unicode (y sus subconjuntos, como el Basic Multilingual Plane de 16 bits). Véase también UTF-8 y UTF-16.
 ANSEL o ISO/IEC 6937

Codificación de caracteres del español 

Codificación de caracteres
Lenguaje natural e informática