Bytes y codificaciones UTF-8, en paralelo
CifradoTodo se ejecuta en tu navegador: no se sube nada
Presenta todas las representaciones de un texto unas junto a otras: bytes UTF-8, puntos de código Unicode, la codificación porcentual que usan las URL, entidades HTML (decimal y hexadecimal) y los escapes `\u` que esperan JavaScript y Java. No es un conversor: para cualquier conversión concreta hay una herramienta más específica en este sitio (codificador URL, entidades HTML, escapes Unicode). Responde a otra pregunta: cómo se comparan las varias formas de los mismos caracteres. Depurar un protocolo, leer la configuración de otro, averiguar por qué un texto no ASCII se convierte en galimatías en algún sitio: todo eso quiere estas columnas a la vez. La última fila separa a propósito el recuento de caracteres del de bytes: cuando esos dos números difieren, UTF-8 está haciendo su trabajo: un carácter CJK ocupa 3 bytes, un emoji 4, y ASCII 1.
Funciones
- Seis representaciones a la vez: bytes, puntos de código, codificación porcentual, dos tipos de entidad HTML y escapes Unicode
- Cada fila se copia por su cuenta: sin seleccionar a mano un fragmento de una cadena larga
- Divide por puntos de código, así que los emoji nunca se cortan en dos mitades sustitutas huérfanas
- Los caracteres fuera del BMP se escriben como pares sustitutos (\ud83d\ude00) que se pegan tal cual en archivos de configuración
- Recuento de caracteres y de bytes por separado: la expansión de UTF-8 de un vistazo
- Se ejecuta por completo en el navegador; no se sube nada
Cómo se usa
- Pega el texto en el campo de entrada
- Los resultados aparecen mientras escribes, una fila por representación
- Pulsa el botón de copiar de una fila para llevarte solo ese valor
- Usa Copiar todo cuando quieras el bloque entero
Preguntas frecuentes
- ¿Por qué difieren los recuentos de caracteres y de bytes?
- Porque UTF-8 es una codificación de longitud variable: los caracteres ASCII (letras inglesas, dígitos, puntuación) ocupan 1 byte, los suplementos latinos y el griego 2, los caracteres CJK 3, y los emoji o los caracteres raros 4. Así que dos caracteres CJK son 2 caracteres y 6 bytes, mientras que una «a» más un carácter CJK más un emoji son 3 caracteres y 8 bytes. Un `varchar(10)` de base de datos cuenta caracteres y almacena diez caracteres CJK sin problema, pero un campo medido o truncado en bytes solo admite tres. Esa fila es el origen de esos problemas.
- ¿En qué se diferencia del codificador de URL?
- La fila de codificación porcentual es lo mismo, pero el propósito difiere. url-encode es un conversor, con opciones sobre qué caracteres codificar y si los espacios pasan a + o a %20, y su salida es la respuesta. Esto es una vista comparativa, que muestra seis formas del mismo contenido a la vez. Usa la herramienta específica para convertir; usa esta para ver qué contiene realmente una cadena.
- ¿Por qué los escapes de emoji vienen en dos mitades?
- Porque un emoji como U+1F600 está por encima del Plano Multilingüe Básico, y una sola unidad de código UTF-16 —lo que usan JavaScript y Java— solo tiene 16 bits, insuficientes. Por eso hay que escribirlo como par sustituto, \ud83d\ude00. Existe la forma más corta \u{1F600}, pero los archivos properties de Java, los analizadores JSON antiguos y muchos motores de plantillas la rechazan. Esta herramienta emite el par sustituto, porque pegar en un archivo de configuración que funciona es la razón más común para estar aquí.
- ¿Por qué hay dos tipos de entidad HTML?
- La forma decimal 中 y la hexadecimal 中 designan el mismo carácter, y los navegadores aceptan las dos. Es pura convención: ambas aparecen en la práctica, y algunos editores antiguos o motores de plantillas solo aceptan una. Listar ambas te ahorra una segunda conversión para contentar a una herramienta concreta.
Herramientas relacionadas
Codificar URL
CifradoEscapa texto a la forma %XX y lo devuelve, tratando una URL completa y un valor de parámetro como trabajos distintos. Todo en tu navegador.
Escape Unicode
CifradoConvierte texto no ASCII y emoji en escapes \uXXXX o \xXX y los devuelve, con los emoji escritos como pares suplentes correctos. En tu navegador.
Entidades HTML
CifradoConvierte < > & y las comillas en entidades HTML y las devuelve en una sola pasada, así que &lt; da <, no un ángulo. En tu navegador.
Base64
CifradoConvierte texto a Base64 y al revés, con UTF-8 correcto para acentos, chino y emoji. Todo se ejecuta en tu navegador: no se sube nada.
JWT (decodificar y verificar)
CifradoDivide un JWT en cabecera, payload y firma, verifica firmas HS256/384/512 con tu secreto y traduce exp y nbf a fechas. Todo en tu navegador.
Archivo a Base64
CifradoArrastra cualquier archivo y obtén su Base64 y una data URL lista para src o url(), con MIME, tamaño y longitud. No se sube nada.