Tabla de referencia Unicode/código de caracteres
Herramienta gratuita que muestra, para un carácter introducido, su punto de código Unicode, secuencia de bytes UTF-8 y las representaciones de escape JavaScript/HTML/URL/CSS, todo comparado en una misma vista. Todo se ejecuta en el navegador.
Tabla de referencia de caracteres comunes
| Carácter | Punto de código | UTF-8 | Nota |
|---|---|---|---|
| A | U+0041 | 41 | Letra mayúscula (ASCII, 1 byte) |
| 0 | U+0030 | 30 | Dígito (ASCII, 1 byte) |
| ␣ | U+0020 | 20 | Espacio (ASCII, 1 byte) |
| ! | U+0021 | 21 | Signo de exclamación (símbolo ASCII, 1 byte) |
| @ | U+0040 | 40 | Arroba (símbolo ASCII, 1 byte) |
| © | U+00A9 | C2 A9 | Símbolo de copyright (suplemento Latin-1, 2 bytes) |
| € | U+20AC | E2 82 AC | Símbolo del euro (3 bytes) |
| → | U+2192 | E2 86 92 | Flecha derecha (bloque de flechas, 3 bytes) |
| あ | U+3042 | E3 81 82 | Carácter hiragana (3 bytes) |
| 漢 | U+6F22 | E6 BC A2 | Ideograma unificado CJK (3 bytes) |
| 한 | U+D55C | ED 95 9C | Sílaba hangul (3 bytes) |
| 😀 | U+1F600 | F0 9F 98 80 | Emoji (fuera del BMP, 4 bytes, se codifica como par suplente en JS) |
Qué hace este conversor de códigos de caracteres Unicode
Esta herramienta toma cualquier carácter que escribas y muestra a la vez siete representaciones de código distintas, comparadas una junto a otra: su punto de código Unicode, su secuencia de bytes UTF-8, su escape de JavaScript, su entidad HTML (decimal y hexadecimal), su codificación porcentual URL y su escape CSS. Cada conversión —del carácter al punto de código, y del punto de código a cada representación en bytes— se calcula al instante en tu navegador mientras escribes, sin enviar ningún dato a un servidor.
Un matiz importante: muchos emojis tienen puntos de código situados fuera del Plano Multilingüe Básico de Unicode (BMP, U+0000-U+FFFF), por lo que las cadenas de JavaScript los representan internamente como un par suplente, es decir, dos unidades de código de 16 bits en lugar de una. Esta herramienta usa `codePointAt` internamente para que un par suplente se resuelva siempre en un único punto de código correcto, de modo que los emojis producen resultados precisos en vez de dos medios caracteres separados. Si escribes más de un carácter, cada uno recibe su propio bloque de resultado.
Cómo usar este conversor Unicode
- Escribe el carácter que quieres consultar Introduce cualquier letra, símbolo o emoji en el campo de entrada. También puedes pegar varios caracteres a la vez.
- Revisa el bloque de resultado de cada carácter Aparece una tarjeta independiente por cada carácter introducido, mostrando las siete representaciones de código.
- Localiza la representación que necesitas Recorre las filas hasta encontrar el formato relevante para tu tarea: punto de código, bytes UTF-8, escape de JavaScript, etc.
- Copia el valor con el botón de copiar Pulsa el botón de copiar junto a cualquier fila para enviar solo ese valor al portapapeles, listo para pegarlo en tu código.
- Prueba con otro carácter Edita el campo de entrada o pulsa "Borrar" para empezar de nuevo, y luego introduce el siguiente carácter que quieras comprobar.
Consejos para aprovecharla mejor
- Puedes introducir más de un carácter; cada uno recibe su propio bloque de resultado debajo del campo de entrada.
- Emojis como 😀 quedan fuera del Plano Multilingüe Básico de Unicode (BMP, U+0000-U+FFFF), así que las cadenas de JavaScript los representan internamente con dos unidades de código (un par suplente); por eso la fila "Escape de JavaScript" muestra dos secuencias `\uXXXX`.
- Un escape CSS como `\41` escribe el punto de código en hexadecimal sin ningún prefijo. Añade un espacio final si el siguiente carácter pudiera interpretarse como parte de los dígitos hexadecimales.
- Los navegadores tratan igual las entidades HTML decimales (
A) y hexadecimales (A); usa la que te resulte más cómoda para tu marcado. - Usa el botón de copiar en cada fila para llevar un valor directamente al portapapeles y pegarlo en código o CSS.
Situaciones en las que resulta útil
Diagnosticar texto corrupto o mal codificado
Cuando un programa o una base de datos muestra un carácter inesperado, comparar el punto de código y los bytes UTF-8 reales ayuda a identificar si el problema es una codificación incompatible.
Comprobar cómo se codifican los emojis
Consulta de un vistazo cuántas unidades de código necesita un emoji como par suplente en JavaScript y cuántos bytes ocupa en UTF-8.
Verificar el almacenamiento de caracteres en una base de datos
Útil cuando necesitas saber de antemano cuántos bytes ocupará un carácter concreto, por ejemplo para decidir si una columna de MySQL necesita utf8mb4.
Incrustar caracteres especiales en HTML o CSS
Obtén la entidad HTML o el escape CSS correcto para un símbolo o un carácter de otro idioma y pégalo directamente en tu marcado o tu hoja de estilos.
Validar la codificación de URL
Comprueba que los parámetros de consulta con caracteres no ASCII o símbolos se codifican en porcentaje tal como esperas antes de enviar una petición.
Glosario
- Unicode
- Un estándar internacional de codificación de caracteres que asigna un único número, un punto de código, a cada carácter usado en el mundo, con el objetivo de evitar los caracteres corruptos entre idiomas.
- Punto de código
- El número que Unicode asigna a un carácter, escrito como
U+0041: un número hexadecimal tras el prefijo "U+" que identifica de forma única de qué carácter se trata. - UTF-8
- Un esquema de codificación concreto para almacenar o transmitir puntos de código Unicode como bytes. Usa entre 1 y 4 bytes de longitud variable por carácter y es totalmente compatible con ASCII, por lo que domina en la web.
- UTF-16
- Un esquema de codificación que representa los puntos de código Unicode en unidades de 16 bits (unidades de código). Las cadenas de JavaScript usan internamente esta codificación.
- Par suplente
- Una combinación de dos unidades de código que se usa en UTF-16 para representar un punto de código situado más allá del Plano Multilingüe Básico (BMP). La mayoría de los emojis requieren un par suplente.
- BMP (Plano Multilingüe Básico)
- El rango de puntos de código Unicode desde U+0000 hasta U+FFFF. Los caracteres de este rango pueden representarse con una sola unidad de código UTF-16.
- Entidad HTML
- Una forma de escribir caracteres especiales de forma segura dentro de un marcado HTML, como
A(decimal) oA(hexadecimal). - Codificación porcentual
- Un esquema que convierte los caracteres no permitidos en una URL en bytes UTF-8 y escribe cada byte como
%XX. Se usa habitualmente para texto no ASCII en las URL.
Preguntas frecuentes
A (decimal) o A (hexadecimal, con prefijo `x`) y solo funciona dentro del marcado HTML. Un escape CSS se escribe como `\41` -solo dígitos hexadecimales, sin prefijo `U+` ni `x`- y se usa dentro de selectores o valores de propiedades CSS. Asegúrate de usar el formato correcto según el contexto en el que trabajes.
A propósito — Cómo Unicode unificó un mundo fragmentado de codificaciones de caracteres
Antes de que existiera Unicode, las codificaciones de caracteres variaban enormemente de un país a otro, e incluso de un idioma a otro. Solo el texto japonés tenía varios esquemas en competencia -Shift_JIS, EUC-JP y el código JIS, entre otros- y el intercambio de texto entre sistemas con codificaciones distintas producía con frecuencia caracteres ilegibles y corruptos. Unicode 1.0, publicado en 1991, se propuso resolver esto asignando un único punto de código a cada carácter usado en cualquier parte del mundo.
Unicode y la norma internacional ISO/IEC 10646 se desarrollaron al principio de forma algo independiente, pero después se coordinaron para compartir el mismo repertorio de caracteres y las mismas asignaciones de puntos de código. Hoy Unicode cubre más de 150.000 caracteres, incluidos los emojis, y cada año se publica una nueva versión que añade más.
UTF-8 fue diseñado en 1992 por Ken Thompson y Rob Pike. Su gran acierto fue mantener una compatibilidad total con el texto ASCII puro y, a la vez, poder representar cualquier carácter de Unicode; un diseño que resultó ser exactamente lo que necesitaba la web, y que desde entonces se ha convertido en la codificación estándar de facto para los documentos en internet.