#472 · Herramienta para desarrolladores

UTF-16 Code Unit Viewer

Inspecciona cómo JavaScript representa un texto como unidades de código UTF-16 de 16 bits. Permite identificar pares sustitutos usados por caracteres fuera del BMP, comparar índices de cadena y entender por qué String.length puede ser mayor que el número de símbolos visibles.

Datos de entrada

Texto Unicode
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega o escribe la entrada en el cuadro principal.
  2. Ajusta las opciones disponibles si la herramienta las muestra.
  3. Pulsa el botón de procesamiento o usa Ctrl/Cmd + Enter.
  4. Revisa el resultado, el resumen y las métricas antes de copiar o descargar.

Qué hace esta herramienta para desarrolladores

Enumera cada posición UTF-16 con su valor hexadecimal y marca si la unidad pertenece a un surrogate alto o bajo. También resume cuántos puntos de código reales contiene el texto.

Recorre la cadena por índice con charCodeAt() y clasifica rangos D800–DBFF y DC00–DFFF.

UTF-16 usa pares sustitutos para representar muchos caracteres con puntos de código superiores a U+FFFF.

Ejemplo

Entrada:

A😀ñ

Resultado: ejecuta el ejemplo incluido para ver la transformación exacta generada por el navegador.

Casos de uso

  • Diagnosticar representaciones Unicode y problemas de codificación.
  • Preparar datos para pruebas, documentación técnica o depuración.
  • Comparar una representación legible con sus bytes o símbolos codificados.

Consejos para obtener resultados fiables

  • Conserva la entrada original para poder comparar.
  • Distingue siempre entre caracteres, puntos de código y bytes.
  • Usa el conversor inverso cuando quieras comprobar una transformación reversible.
  • No trates una codificación como si fuera cifrado.
  • Prueba emoji, acentos y caracteres no ASCII si tu sistema debe admitir Unicode.

Detalles del procesamiento

El procesamiento se ejecuta íntegramente en JavaScript dentro del navegador. Se usan Web APIs estándar como TextEncoder, TextDecoder, Intl.Segmenter o tipos nativos cuando corresponden al objetivo de la página.

Los resultados dependen de los estándares implementados por el navegador. La herramienta no sustituye validaciones del protocolo o formato superior donde se vaya a utilizar la salida.

Preguntas frecuentes

¿Por qué JavaScript String.length cuenta dos posiciones para algunos emoji?

Porque JavaScript indexa cadenas por unidades UTF-16 y muchos emoji necesitan un par de unidades sustitutas.

¿Qué diferencia hay entre una unidad UTF-16 y un punto de código Unicode?

Una unidad UTF-16 tiene 16 bits; un punto de código puede ocupar una unidad o un par de unidades UTF-16.

¿Cómo identifico un surrogate alto y uno bajo?

Los altos están entre D800 y DBFF y los bajos entre DC00 y DFFF.

¿Un surrogate aislado es texto Unicode válido?

Puede existir en una cadena JavaScript, pero no representa por sí solo un valor escalar Unicode válido.

¿Este visor modifica o normaliza el texto?

No. Lee las unidades tal como aparecen en la cadena y no aplica NFC, NFD ni otras normalizaciones.

Resumen técnico

CategoríaCodificación y decodificación
EntradaTexto Unicode
ProcesamientoLocal en el navegador
SalidaUnidades de código UTF-16