Glosario

Codificación de caracteres

codificación de texto

Una codificación de caracteres define cómo se representan caracteres o puntos de código mediante secuencias de bytes y cómo se recuperan.

Definición

Una codificación de caracteres determina cómo las unidades de texto se convierten en números o bytes para almacenarse y transmitirse, y cómo vuelven a ser texto. Emisor y receptor deben usar la misma codificación.

ASCII, UTF-8, UTF-16 y las páginas antiguas son codificaciones o esquemas. Unicode define repertorio y puntos; UTF-8 y UTF-16, su representación concreta.

Cómo funciona

El codificador asigna secuencias válidas y el decodificador aplica las reglas inversas. En UTF-8, A es 41 y es E2 82 AC. Las codificaciones de longitud variable usan distinto número de bytes.

El charset HTTP, la declaración del archivo o el protocolo indican qué decodificador usar. Sin contexto, los mismos bytes pueden producir textos distintos.

Ejemplo práctico

Decodificados como UTF-8, los bytes E2 82 AC producen . Con una codificación de un byte ajena generan otros caracteres; esta corrupción visible se denomina mojibake.

Convertir exige decodificar bien el origen y codificar los caracteres en el destino. Cambiar solo la etiqueta no transforma los bytes.

Errores frecuentes

Un decodificador puede rechazar secuencias inválidas o sustituirlas por U+FFFD. Si el destino no representa un carácter, puede haber error, sustitución o pérdida.

Marca de orden de bytes, endianness, normalización Unicode y finales de línea son asuntos relacionados pero distintos. Codificar caracteres no es cifrar.

Preguntas frecuentes

No. Unicode asigna puntos y propiedades; UTF-8 codifica esos puntos como bytes.

Los bytes pueden haberse decodificado mal o los caracteres se sustituyeron porque el destino no podía representarlos.

No. Algunos bytes encajan en varias codificaciones, sobre todo texto ASCII corto. Hacen falta metadatos, BOM o contexto.

Véase también
Herramientas relacionadas
Términos relacionados