Decodificador Unicode

Convierte entre escapes Unicode y texto. Compatible con \uXXXX, \UXXXXXXXX, entidades &#XXXX; y búsqueda de puntos de código. Todo el procesamiento se realiza en tu navegador.

Codificar y decodificar Información de caracteres Procesamiento en el cliente
El resultado aparecerá aquí...

Cómo usar el decodificador Unicode

1

Elige el modo

Selecciona el modo Decodificar (escape a texto) o Codificar (texto a escape).

2

Introduce los datos

Pega escapes Unicode o texto plano según el modo seleccionado.

3

Convierte

Haz clic en Convertir y revisa el resultado y los detalles de los caracteres.

¿Qué es la codificación Unicode?

La codificación Unicode permite que los caracteres de cualquier idioma o sistema de símbolos se representen en diferentes formatos. Los formatos de codificación comunes incluyen \uXXXX (JavaScript/JSON), &#NNNNN; (entidades HTML) y U+XXXX (puntos de código Unicode). Estas codificaciones garantizan que el texto pueda transmitirse y mostrarse de forma segura entre diferentes sistemas.

Formatos de codificación

Codificación JavaScript

Usado en cadenas JSON y JavaScript

Entidades HTML (&#XXXX;)

Usado en HTML para representar caracteres especiales

Escapes CSS (\XXXXXX)

Usado en contenido CSS e identificadores

Corregir texto corrupto (mojibake)

El texto corrupto (mojibake) aparece cuando los bytes de una codificación se interpretan con otra. El caso más común: bytes UTF-8 leídos como Windows-1252 o Latin-1, y «café» se convierte en «café». Cambia al modo Corregir texto corrupto, pega el texto dañado y el decodificador tratará cada carácter como un byte original y lo recodificará como UTF-8.

Ejemplos comunes de texto corrupto

Corrupto Reparado Causa
café café UTF-8 → Latin-1
å¼ ä¸‰ 张三 UTF-8 → Latin-1
“hi†“hi” UTF-8 → double-encoded
ü ö ñ ü ö ñ UTF-8 → Windows-1252
�� � � bytes ya perdidos (U+FFFD)

Para evitar el mojibake en tus aplicaciones, declara siempre la codificación: HTML con <meta charset="UTF-8">, cabecera Content-Type: text/html; charset=utf-8 y UTF-8 en bases de datos y conexiones.

Comparación UTF-8 vs UTF-16 vs UTF-32

UTF-8 UTF-16 UTF-32
Unidad de codificación 8 bit 16 bit 32 bit
A (U+0041) 41 00 41 00 00 00 41
é (U+00E9) C3 A9 00 E9 00 00 00 E9
中 (U+4E2D) E4 B8 AD 4E 2D 00 00 4E 2D
🎉 (U+1F389) F0 9F 8E 89 D8 3C DF 89 00 01 F3 89
Ideal para Web, JSON, APIs: compatible con ASCII y compacto Texto en memoria de Java, JavaScript, C# Acceso directo a puntos de código, poco común

Puntos de código Unicode frecuentes

Referencia rápida de caracteres consultados a menudo: puntuación, monedas, letras acentuadas y signos matemáticos con sus códigos U+XXXX.

Puntuación y símbolos

“U+201C ”U+201D ‘U+2018 ’U+2019
–U+2013 —U+2014 …U+2026  U+A0
©U+A9 ®U+AE ™U+2122 °U+B0

Monedas

€U+20AC £U+A3 ¥U+A5 ₹U+20B9
¢U+A2 ₽U+20BD ₩U+20A9 ฿U+E3F

Letras acentuadas

éU+E9 èU+E8 êU+EA üU+FC
öU+F6 ñU+F1 åU+E5 øU+F8
çU+E7 ßU+DF ąU+105 žU+17E

Matemáticas y flechas

±U+B1 ×U+D7 ÷U+F7 ≈U+2248
≠U+2260 ≤U+2264 ≥U+2265 →U+2192
∞U+221E ∑U+2211 √U+221A µU+B5

Preguntas frecuentes

¿Qué formatos de escape Unicode son compatibles?

Esta herramienta es compatible con \uXXXX (BMP), \UXXXXXXXX (Unicode completo), &#DDDD; (entidad HTML decimal), &#xHHHH; (entidad HTML hexadecimal) y U+XXXX (notación de punto de código) para decodificación.

¿Cómo funciona la codificación UTF-8?

UTF-8 codifica cada punto de código Unicode usando de 1 a 4 bytes. Los caracteres ASCII (U+0000 a U+007F) usan 1 byte, los caracteres latinos y otros comunes usan 2 bytes, la mayoría de caracteres CJK usan 3 bytes, y los emoji y caracteres raros usan 4 bytes.

¿Cuál es la diferencia entre \u y \U?

\uXXXX usa 4 dígitos hexadecimales y puede representar caracteres en el Plano Multilingüe Básico (U+0000 a U+FFFF). \UXXXXXXXX usa 8 dígitos hexadecimales y puede representar cualquier carácter Unicode, incluyendo aquellos más allá del BMP.

¿Por qué mi texto muestra caracteres como «Ã©» o «ï¿½» y cómo lo arreglo?

Son señales de mojibake: bytes UTF-8 decodificados como Windows-1252/Latin-1. «Ã©» indica que los dos bytes UTF-8 de «é» (0xC3 0xA9) se mostraron como caracteres separados. Usa el modo Corregir texto corrupto. «ï¿½» es U+FFFD: esos bytes ya se perdieron y no se pueden recuperar.

¿Cuál es la diferencia entre UTF-8 y UTF-16?

UTF-8 codifica caracteres en 1–4 bytes y es compatible con ASCII, por eso es el estándar de la web, JSON y las API. UTF-16 usa 2 o 4 bytes (pares sustitutos más allá de U+FFFF) y lo usan internamente JavaScript, Java y Windows. Para texto web, UTF-8 es más compacto y seguro.

¿Cuál es la diferencia entre un punto de código y una unidad de código?

Un punto de código es un número asignado a un carácter en el estándar Unicode (U+00E9 para la e con acento agudo); una unidad de código es la unidad de almacenamiento que utiliza una codificación. Las unidades de código de UTF-8 son bytes de 8 bits - U+00E9 ocupa dos - mientras que las unidades de código de UTF-16 son de 16 bits, y los caracteres más allá de U+FFFF necesitan dos de ellas (un par sustituto). Las cadenas de JavaScript son UTF-16, por lo que 'hello'.length es 5, pero el .length de un emoji es 2.

¿Qué son las formas de normalización de Unicode y cuándo son importantes?

El mismo carácter visible puede tener múltiples secuencias de bytes: la e con acento agudo como un carácter precompuesto (NFC) o como e más un acento combinante (NFD). NFC compone, NFD descompone, y NFKC/NFKD además pliegan los caracteres de compatibilidad (formas de ancho completo, ligaduras). Comparar o calcular el hash de la entrada del usuario sin normalizar primero es una fuente clásica de cuentas duplicadas y búsquedas fallidas - la ligadura fi frente a f+i.

¿Qué es un BOM y por qué rompe mis archivos?

La marca de orden de bytes es U+FEFF codificada al inicio de un flujo (EF BB BF en UTF-8) para indicar la codificación. Los editores suelen ocultarla, pero aguas abajo se convierte en un primer carácter invisible: un encabezado CSV gana una clave fantasma, el análisis de JSON falla por el token suelto, y las sesiones de PHP la emiten antes de los encabezados. UTF-8 no necesita BOM ya que no tiene ambigüedad de orden de bytes - guarda sin él.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}