Codificador y decodificador UTF-8 — Convierte texto a bytes UTF-8 en línea

Convierte texto a su representación en bytes UTF-8 en formato hex, decimal, binario o codificado como porcentaje. Decodifica secuencias de bytes UTF-8 de nuevo a texto legible. Consulta el recuento de caracteres, el recuento de bytes y los detalles de la codificación.

Texto → Bytes UTF-8

Formato de salida

Bytes UTF-8 → Texto

Formato de entrada

Cómo funciona la codificación UTF-8

UTF-8 es la codificación de caracteres dominante en la web, utilizada por más del 98 % de los sitios web. Codifica cada punto de código Unicode en uno a cuatro bytes, lo que la hace compatible con versiones anteriores de ASCII a la vez que admite todos los caracteres del estándar Unicode, incluidos los emoji, los caracteres CJK y los símbolos matemáticos.

Los caracteres ASCII (U+0000 a U+007F) usan un solo byte, idéntico a sus valores ASCII. Los caracteres fuera de este rango usan de 2 a 4 bytes, con bits iniciales que indican el recuento de bytes. Esta codificación de longitud variable mantiene compacto el texto en inglés a la vez que admite todos los sistemas de escritura del mundo.

Rangos de bytes de UTF-8

  • 1 byte (0xxxxxxx): caracteres ASCII U+0000–U+007F (A-Z, 0-9, puntuación básica)
  • 2 bytes (110xxxxx 10xxxxxx): latín, griego, cirílico, árabe, hebreo U+0080–U+07FF
  • 3 bytes (1110xxxx 10xxxxxx 10xxxxxx): CJK, la mayoría de los emoji, símbolos U+0800–U+FFFF
  • 4 bytes (11110xxx 10xxxxxx 10xxxxxx 10xxxxxx): caracteres poco comunes, banderas, emoji extendidos U+10000–U+10FFFF

Casos de uso comunes

  • Depurar problemas de codificación cuando el texto aparece distorsionado (mojibake)
  • Inspeccionar la representación a nivel de bytes para protocolos de red
  • Verificar la codificación correcta en bases de datos y sistemas de archivos

Preguntas frecuentes

¿Cuál es la diferencia entre UTF-8 y Unicode?

Unicode es un conjunto de caracteres que asigna un número único (punto de código) a cada carácter. UTF-8 es una codificación que define cómo se almacenan esos puntos de código como bytes. Unicode define qué caracteres existen; UTF-8 define cómo representarlos en binario.

¿Por qué algunos caracteres usan más bytes que otros en UTF-8?

UTF-8 utiliza codificación de longitud variable para mayor eficiencia. Los caracteres ASCII (los más comunes en inglés) usan solo 1 byte, manteniendo el texto compacto. Los caracteres menos comunes usan de 2 a 4 bytes. Este diseño hace que UTF-8 sea retrocompatible con ASCII a la vez que admite todos los caracteres Unicode.

¿Cómo puedo saber si un texto está codificado en UTF-8?

Observa los patrones de bytes: las secuencias multibyte de UTF-8 siempre comienzan con patrones de bits específicos (110, 1110 o 11110) seguidos de bytes de continuación que comienzan con 10. Si los bytes siguen estos patrones, es probable que el texto sea UTF-8. Las secuencias no válidas indican una codificación diferente.

¿Qué causa el texto ilegible (mojibake) y cómo lo soluciono?

El mojibake se produce cuando un texto codificado en un formato (por ejemplo, UTF-8) se decodifica usando un formato diferente (por ejemplo, Latin-1). Para solucionarlo, identifica la codificación original examinando la secuencia de bytes y luego decodifica con la codificación correcta. Esta herramienta te ayuda a inspeccionar los bytes para diagnosticar problemas de codificación.

Herramientas relacionadas