Codificación

Unicode Escape

Codificación y decodificación de secuencias Unicode — caracteres en formato \uXXXX y viceversa.

A Unicode escape sequence (\uXXXX) writes a character as its code point instead of the character itself — so a string literal in code can contain any Unicode character while the source file itself stays plain ASCII.

How to use it

Common uses

Things to keep in mind

\uXXXX encodes exactly one 16-bit UTF-16 unit, not one visible character — characters outside the Basic Multilingual Plane (most emoji) need two such sequences together (a surrogate pair).

JSON only requires escaping for control characters and a few special characters — escaping every character as \uXXXX isn't required, though it is valid.

Artículo sobre esta herramienta: Unicode Escape: qué significan las secuencias \uXXXX

Preguntas frecuentes

¿Qué es una secuencia de escape Unicode \uXXXX?

Es una forma de representar un carácter Unicode usando su punto de código en hexadecimal, con exactamente 4 dígitos, por ejemplo \u00e9 para "é". Se usa mucho en JSON, JavaScript y otros formatos que solo aceptan ASCII.

¿Por qué algunos emojis aparecen como dos secuencias \uXXXX seguidas?

Porque están fuera del plano básico multilingüe (BMP) y \uXXXX solo cubre 4 dígitos hexadecimales. Esos caracteres "astrales" se representan mediante un par suplente (surrogate pair): dos secuencias \uXXXX que juntas codifican un único carácter.

¿Se procesa el texto en un servidor?

No, la conversión entre texto y secuencias Unicode se hace enteramente en tu navegador, sin enviar nada a un servidor.

¿Qué pasa si se divide un par sustituto por la mitad?

Se obtiene un carácter "huérfano" no válido: un código solitario sin su pareja. La mayoría de los parsers rechazará la cadena con un error o mostrará el carácter de reemplazo «�».

¿Se puede codificar un emoji con un solo \uXXXX?

No, si el emoji está fuera del plano básico multilingüe (y la mayoría de los emojis actuales lo están), siempre hace falta un par sustituto formado por dos secuencias \uXXXX.

Artículos: Codificación

Base64: para qué sirve la codificación y cómo funciona

Cómo Base64 convierte datos binarios en texto ASCII y cuándo esto realmente hace falta.

Base32: en qué se diferencia de Base64 y cuándo es más práctico

El alfabeto de Base32, que no distingue mayúsculas, y los casos donde resulta más práctico que Base64.

URL Encode/Decode: el percent-encoding en los enlaces

Cómo los caracteres especiales en direcciones y parámetros se convierten en secuencias %XX.

HTML Entities: cómo mostrar caracteres especiales de forma segura

Por qué hay que escapar los caracteres < > & y cómo esto evita que el marcado se rompa.

JWT: la estructura del token y qué significa "decodificar" un JWT

El header, el payload y la signature de un token JWT, y por qué decodificar no es lo mismo que verificar la firma.

ROT13 y el cifrado César: sustitución simple de caracteres

Por qué un desplazamiento de 13 letras hace que ROT13 sea su propio inverso, y por qué se sigue usando hoy.

Punycode: cómo funcionan los dominios internacionalizados en el DNS

Cómo un dominio con caracteres no latinos se convierte en una representación ASCII con el prefijo xn--.

Código Morse: cómo el texto se convierte en puntos y rayas

El principio de codificar letras con puntos y rayas, y dónde se usa el código Morse hoy en día.

Data URI: cuándo incrustar imágenes directamente en el código

Cómo un Data URI incrusta el contenido de un archivo directamente en HTML o CSS, y cuándo vale la pena.

Gzip + Base64: comprimir datos para transmitirlos como texto

Por qué los datos binarios comprimidos también se codifican en Base64 antes de meterlos en un campo de texto.

XML Entities: escapar caracteres en documentos XML

Las cinco entidades XML obligatorias sin las cuales el documento se rompe al analizarlo.