Saltar al contenido
uencoder

UTF-8

UTF-8 es la forma de codificación de longitud variable de Unicode que usa de 1 a 4 bytes por punto de código; es totalmente retrocompatible con ASCII y el estándar de facto de la web y de los sistemas modernos.

Propósito

Cubre todos los puntos de código Unicode manteniendo la compatibilidad ASCII (el inglés no se expande), y es independiente del orden de bytes y autosincronizante, ideal para el transporte en red.

Mecanismo

El rango del punto de código determina la longitud en bytes: U+0000-007F ocupa 1 byte; U+0080-07FF, 2; U+0800-FFFF, 3; U+10000-10FFFF, 4. El número de bits 1 a principios del primer byte indica la longitud de la secuencia.

Casos de uso

  • Codificación por defecto de documentos HTML/XML/JSON
  • Transporte de cuerpos HTTP y correo
  • Codificación de archivos de código fuente
  • Conjunto de caracteres por defecto de bases de datos

Ejemplos

  • entrada
    A
    Output
    0x41

    An ASCII character, 1 byte

  • entrada
    U+4E2D
    Output
    0xE4 0xB8 0xAD

    A BMP CJK ideograph, 3 bytes

Errores comunes

Truncating a UTF-8 string mid-sequence, producing invalid bytes
Truncate at character boundaries or use encoding-aware APIs

Términos relacionados

Herramientas relacionadas

References