Inspector de Caracteres Unicode
Cada caracter en esta herramienta tiene una fila mostrando: el caracter mismo, codepoint en hex `U+HHHH`, secuencia de bytes UTF-8, entidad HTML decimal (`&#NNNN;`), escape CSS (`\HHHH`), y el bloque Unicode al que pertenece. Útil para debug de mojibake, encontrar el codepoint exacto de un caracter confuso (¿es hyphen-minus o em dash?), o ver cuántos bytes ocupa tu string en storage UTF-8. Maneja surrogate pairs correctamente usando Array.from para iteración propia de codepoints.
string.length
13
Codepoints
12
Bytes UTF-8
19
| Char | Codepoint | Bytes UTF-8 | Entidad HTML | Escape CSS | Bloque |
|---|---|---|---|---|---|
| H | U+0048 | 48 | H | \0048 | Basic Latin (ASCII) |
| e | U+0065 | 65 | e | \0065 | Basic Latin (ASCII) |
| l | U+006C | 6C | l | \006C | Basic Latin (ASCII) |
| l | U+006C | 6C | l | \006C | Basic Latin (ASCII) |
| o | U+006F | 6F | o | \006F | Basic Latin (ASCII) |
| , | U+002C | 2C | , | \002C | Basic Latin (ASCII) |
| ␠ | U+0020 | 20 |   | \0020 | Basic Latin (ASCII) |
| 世 | U+4E16 | E4 B8 96 | 世 | \4E16 | CJK Unified Ideographs |
| 界 | U+754C | E7 95 8C | 界 | \754C | CJK Unified Ideographs |
| ! | U+0021 | 21 | ! | \0021 | Basic Latin (ASCII) |
| ␠ | U+0020 | 20 |   | \0020 | Basic Latin (ASCII) |
| 🌏 | U+1F30F | F0 9F 8C 8F | 🌏 | \1F30F | Miscellaneous Symbols & Pictographs |
Codepoints iterados con Array.from (surrogate-pair safe). Nombres de bloque cubren los rangos Unicode más comunes — bloques nicho pueden mostrar '—'.
Cómo usar
- Pega o escribe texto en el input box.
- Lee la metadata de cada caracter en la tabla.
- Copia la tabla parseada como TSV con el botón copy.
Preguntas frecuentes
- ¿Por qué 🌏 es una fila pero len = 2?
- Emoji y otros codepoints de planos suplementarios (>U+FFFF) toman 2 unidades de código UTF-16 en strings JavaScript, pero son un caracter percibido por usuario. La herramienta cuenta codepoints (Array.from) para conteo de filas, pero reporta `string.length` aparte así ves la discrepancia.
- ¿Total bytes vs columna UTF-8 — mismo?
- Sí. Total bytes = suma del conteo bytes UTF-8 de cada fila, computado vía TextEncoder para precisión en edge cases. Útil para dimensionar storage o formato wire.
- ¿Qué es mojibake?
- Texto garbled de interpretar bytes en encoding incorrecto. Clásico: UTF-8 'é' (C3 A9) leído como Latin-1 se vuelve 'é'. Esta herramienta puede ayudar a diagnosticarlo — pega la string garbled y ve si los codepoints matchean lo que 'UTF-8 mal decodificado' produciría.
- ¿Y characters combinados / clusters de grafemas?
- Mostramos codepoints, no grafemas. 'é' puede ser un codepoint (U+00E9) o dos (e + acute combinando, U+0065 + U+0301). El caracter visual es igual; la representación bytes no. Para conteo grafemas propio necesitas Intl.Segmenter — fuera del scope.
Guías sobre este tema
- Normalización Unicode y caracteres invisibles Por qué dos cadenas de aspecto idéntico pueden fallar una comprobación de igualdad, qué hacen realmente NFC, NFD, NFKC y NFKD, qué caracteres invisibles se esconden en el texto pegado y las reglas que mantienen seguro el manejo de texto.
- Por qué tu texto se convierte en caracteres extraños Un nombre sale como é, un archivo coreano se vuelve un muro de disparates, o cada acento es un rombo negro. El texto se guarda como bytes y una codificación es solo un acuerdo sobre qué significan esos bytes, así que la forma del destrozo dice qué acuerdo se rompió.
Herramientas relacionadas
Contador de Caracteres y Palabras
Cuenta caracteres, palabras, frases, líneas y bytes en tiempo real.
Tabla de Códigos ASCII
Explora y busca las 256 filas de ASCII / ASCII extendido — decimal, hexadecimal, octal, binario y nombres de caracteres de control.
Detector de Caracteres Invisibles / Zero-Width
Detecta NBSPs, caracteres zero-width, marcas bidi y tabs en texto pegado — y límpialos.
Generador de bytes aleatorios
Genera bytes aleatorios criptográficamente seguros en 9 formatos — hex, Base64, Base64URL, binario, decimal, array C, bytes Python, UUID v4.
Generador de código fonético Soundex
Genera el código Soundex americano de nombres o palabras: una clave fonética de 4 caracteres que agrupa grafías que suenan igual. Codifica un nombre por línea en tu navegador.
Reparador de Mojibake (UTF-8 corrupto)
Repara texto estropeado por un ida-y-vuelta de codificación errónea — convierte café, don’t y 😀 de nuevo en café, don't y 😀 — automática y seguramente, todo en tu navegador.