Si pudieras ver una conversación entre computadoras, esta probablemente se vería algo así: "010110111011101011010010110...". Esta es la forma que las computadoras utilizan para comunicarse entre sí. La razón de la existencia de la codificación de caracteres es que sería muy difícil para nosotros comprender este lenguaje de ceros y unos (bits).
Lo que una codificación de caracteres de n-bits hace, es separar este código de bits en grupos de n bits cada uno, y asignar el símbolo que corresponde a esa secuencia ordenada. En una forma más sencilla, una codificación de caracteres o set de caracteres puede ser considerada como una tabla de traducción, donde cada grupo de bits está relacionado con un solo carácter. Por ejemplo, un set de caracteres de 8 bits podría representar a la secuencia "10010101" con una letra "a", a la secuencia "01101100" como el símbolo "&", y así sucesivamente.
Las codificaciones de caracteres son ampliamente utilizadas (aun cuando no nos damos cuenta de ello) entre sistemas operativos así como también en documentos HTML (lenguaje de marcas hipertextual). Nacieron con las computadoras desde que hubo una necesitad de traducir códigos de computadora a texto legible para humanos. En el comienzo, las codificaciones de caracteres fueron creadas o utilizadas por vendedores de equipos y diseñadas para llenar las necesidades de cada uno de ellos así como del lenguaje al que apuntaban sus ventas. Esto creó un efecto de expansión que dio como resultado un gran número de codificaciones de caracteres, cada una de ellas dando soporte a caracteres de distintos lenguajes o para diferentes usos.
El Estándard Industrial Unicode (Unicode Industrial Standard) tiene por objetivo reemplazar y unificar las codificaciones de caracteres existentes con el fin de reducir su número y mejorar su efectividad (resolviendo carencias de otras codificaciones). El estándar Unicode codifica caracteres usando diferentes esquemas llamados Formatos de Transformación Unicode (UTF).
El UTF-8 es un set de caracteres de 8-bits de longitud variable para Unicode que está volviéndose muy popular para Internet debido a su capacidad para representar todos los carácteres universales aún siendo compatible con ASCII (código estándar americano para intercambio de información). UTF-8 usa de 1 a 4 bytes para codificar un caracter simple (8 a 32 bits) dependiendo del símbolo Unicode.
Un documento HTML utilizando el set de caracteres UTF-8 debería contener una declaración en su encabezado realizada mediante el tag HTML meta (por ejemplo, <meta http-equiv="content-type" content="text/html; charset=UTF-8">). Los símbolos pueden ser insertados en este tipo de documentos usando un código simple que se asocia a un carácter específico, como por ejemplo Σ (notación decimal), o Σ (notación hexadecimal) el cual mostrará la letra griega mayúscula "Sigma" ("Σ"). La graficación de símbolos Unicode depende del tipo de fuente utilizada por el navegador, y la mayoría de ellas no da soporte para todos los caracteres en el estándar Unicode (los caracteres no soportados son mostrados como cuadrados o signos de interrogación). Lee la referencia de entidad de caracteres para más información acerca de la representación de caracteres especiales en documentos HTML.