NewIntroducing QODEX QA Services — platform-powered QA for API-driven teams.Learn more →
Codificador UTF-8

Codificador UTF-8

Convierta cualquier texto a hexadecimal codificado en UTF-8 con el Codificador UTF-8 de Qodex. Ya sea que esté preparando entradas para algoritmos de hash, depurando flujos de bytes o enviando datos multilingues por redes, esta herramienta garantiza una codificación segura y precisa. También puede decodificar texto codificado con nuestro Decodificador UTF-8 para validación de ida y vuelta.

Codificador UTF-8 - Documentación

¿Qué es la codificación UTF-8?

La codificación UTF-8 es el proceso de convertir caracteres legibles en secuencias de bytes que las computadoras pueden entender y almacenar. UTF-8 significa "Unicode Transformation Format - 8 bit" y es el sistema de codificación más ampliamente utilizado en la web.

Con la codificación UTF-8, cada letra, número, emoji o símbolo se mapea a una representación hexadecimal específica. Por ejemplo, la letra A se convierte en 41 y el emoji ✔ se convierte en E2 9C 94.

Tabla de Referencia de Codificación UTF-8

Utilice esta tabla para buscar caracteres comunes y sus representaciones en bytes hexadecimales UTF-8:

Caracter

Descripción

Punto de Código

Bytes Hex UTF-8

Cantidad de Bytes

A

A mayúscula latina

U+0041

41

1

Z

Z mayúscula latina

U+005A

5A

1

0

Dígito cero

U+0030

30

1

~

Tilde

U+007E

7E

1

©

Signo de copyright

U+00A9

C2 A9

2

é

e latina con acento

U+00E9

C3 A9

2

ü

u latina con diéresis

U+00FC

C3 BC

2

£

Signo de libra esterlina

U+00A3

C2 A3

2

Signo de euro

U+20AC

E2 82 AC

3

Marca de verificación

U+2714

E2 9C 94

3

CJK "medio"

U+4E2D

E4 B8 AD

3

CJK "mundo/límite"

U+754C

E7 95 8C

3

🚀

Emoji cohete

U+1F680

F0 9F 9A 80

4

𝄞

Clave de sol musical

U+1D11E

F0 9D 84 9E

4

UTF-8 vs. ASCII y UTF-16

Característica

ASCII

UTF-8

UTF-16

Rango de caracteres

128 caracteres (solo inglés)

Todo Unicode (más de 1,1 millones de caracteres)

Todo Unicode

Bytes por carácter

Siempre 1

1 a 4 (variable)

2 o 4

Compatible con ASCII

Sí (ES ASCII)

Sí (retrocompatible)

No

Mejor para

Sistemas heredados solo en inglés

Web, APIs, la mayoría de apps modernas

Internos de Java/Windows, texto con muchos caracteres CJK

Uso en la web

En declive

Más del 98% de los sitios web

Poco frecuente en la web

Cómo Funciona la Codificación UTF-8 (Por Dentro)

UTF-8 usa diferentes patrones de bytes según el punto de código Unicode:

Rango Unicode

Bytes

Formato de Codificación

Ejemplo

U+0000 a U+007F

1

0xxxxxxx

A = 41

U+0080 a U+07FF

2

110xxxxx 10xxxxxx

é = C3 A9

U+0800 a U+FFFF

3

1110xxxx 10xxxxxx 10xxxxxx

€ = E2 82 AC

U+10000 a U+10FFFF

4

11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

🚀 = F0 9F 9A 80

Flujo de Codificación:

  1. Leer cada carácter de la cadena de entrada

  2. Encontrar el punto de código Unicode (por ejemplo, 'A' = U+0041)

  3. Convertir a binario y encajar en la estructura UTF-8 correcta según el conteo de bytes

  4. Emitir como hex, valores separados por espacios (por ejemplo, 41 para 'A')

Ejemplos Prácticos

Ejemplo 1: ASCII simple (1 byte)

Entrada: A | Punto de Código: U+0041 | Hex UTF-8: 41

Ejemplo 2: Latín acentuado (2 bytes)

Entrada: é | Punto de Código: U+00E9 | Hex UTF-8: C3 A9

Ejemplo 3: Emoji (4 bytes)

Entrada: 🚀 | Punto de Código: U+1F680 | Hex UTF-8: F0 9F 9A 80

Ejemplo 4: Carácter japonés (3 bytes)

Entrada: | Punto de Código: U+754C | Hex UTF-8: E7 95 8C

Codificación UTF-8 en PHP, Python y JavaScript

Así se maneja la codificación UTF-8 en los tres lenguajes de desarrollo web más populares:

PHP

// Encode string to UTF-8 (from another encoding)
$text = "Cafe";
$utf8 = mb_convert_encoding($text, 'UTF-8', 'ISO-8859-1');

// Get hex representation of UTF-8 bytes $hex = bin2hex("Cafe"); // Output: 436166c3a9

// Check string length in characters vs bytes echo mb_strlen("Cafe", 'UTF-8'); // 4 characters echo strlen("Cafe"); // 5 bytes

// Always use multibyte functions for UTF-8 strings echo mb_strtoupper("cafe", 'UTF-8'); // CAFE

// Pro tip: Set internal encoding globally mb_internal_encoding('UTF-8');

Python

# Encode a string to UTF-8 bytes
text = "Cafe"
utf8_bytes = text.encode("utf-8")
print(utf8_bytes)  # b'Caf\xc3\xa9'

Get hex representation

hex_string = utf8_bytes.hex() print(hex_string) # 436166c3a9

Encode emoji

rocket = "\U0001F680" print(rocket.encode("utf-8").hex()) # f09f9a80

Read a file with explicit UTF-8 encoding

with open("data.txt", "r", encoding="utf-8") as f: content = f.read()

JavaScript

// Using TextEncoder (modern browsers and Node.js)
const encoder = new TextEncoder();
const bytes = encoder.encode("Cafe");
console.log(bytes); // Uint8Array [67, 97, 102, 195, 169]

// Convert to hex string const hex = Array.from(bytes) .map(b => b.toString(16).padStart(2, '0')) .join(' '); console.log(hex); // "43 61 66 c3 a9"

// URL-safe encoding (percent-encoded UTF-8) console.log(encodeURIComponent("Cafe")); // Output: Caf%C3%A9

// Encode emoji const rocketBytes = new TextEncoder().encode("\uD83D\uDE80"); console.log(Array.from(rocketBytes).map(b => b.toString(16)).join(' ')); // f0 9f 9a 80

Errores Comunes de Codificación UTF-8 y Cómo Solucionarlos

Error

Síntoma

Causa

Solución

Mojibake

"Cafe" aparece como "Café"

Bytes UTF-8 leídos como Latin-1

Establezca el charset a UTF-8 en encabezados HTTP y meta tag HTML

Caracteres de reemplazo

El texto aparece como "Caf?"

Secuencias de bytes inválidas

Recodifique los datos fuente como UTF-8 válido

Doble codificación

"Cafe" aparece como "Caf�©"

Texto UTF-8 codificado a UTF-8 nuevamente

Codifique solo una vez; verifique la codificación existente antes de convertir

Caracteres truncados

Emojis o caracteres CJK faltantes o rotos

Cadena cortada a mitad de secuencia (por ejemplo, SUBSTR sobre bytes)

Use funciones que reconocen caracteres (mb_substr en PHP, no substr)

Problemas de BOM

Caracteres extra al inicio del archivo

BOM UTF-8 (EF BB BF) antepuesto al archivo

Guarde archivos como "UTF-8 sin BOM" en su editor

Corrupción en base de datos

Caracteres dañados al guardar o recuperar

La base de datos o la conexión no está configurada en utf8mb4

Use charset utf8mb4 en MySQL; configure el charset de la conexión

Asegurar UTF-8 Correcto en HTML y Encabezados HTTP

Para garantizar que su contenido web se muestre correctamente en todos los navegadores e idiomas:

  • HTML5: Agregue <meta charset="utf-8"> dentro de la sección <head>

  • Encabezados HTTP: Configure Content-Type: text/html; charset=utf-8 en su servidor

  • Base de datos: Use charset utf8mb4 en MySQL (no solo utf8, que solo admite caracteres de 3 bytes)

  • Archivos: Guarde los archivos fuente como UTF-8 sin BOM en su editor

Cuándo y Dónde Usar la Codificación UTF-8

  • APIs y Solicitudes Web: Transmita datos multilingues o con emojis de forma segura

  • Exportación de Datos: Almacene versiones precisas a nivel de byte de la entrada

  • Depuración de Codificación: Verifique si la corrupción de texto se debe a errores de codificación

  • Criptografía y Hashing: Convierta cadenas en bytes para hash (por ejemplo, SHA-256)

  • Inserción en Base de Datos: Algunas bases de datos esperan cadenas codificadas en UTF-8 como hex

Combine con Estas Herramientas

Consejos Profesionales

  • Los caracteres ASCII (A-Z, 0-9, puntuación) son de un solo byte; los emojis o caracteres especiales usan de 2 a 4 bytes.

  • Use esta herramienta para verificar la integridad a nivel de byte al depurar comunicación de red o de API.

  • Si un carácter no aparece correctamente en otros sistemas, codifíquelo aquí y verifique el desglose de bytes.

  • Copie la salida codificada directamente en encabezados HTTP, cookies o tokens cuando sea necesario.

  • Pruebe siempre con caracteres multibyte (letras acentuadas, CJK, emojis) para detectar problemas de codificación a tiempo.

Frequently Asked Questions

¿Qué formatos de entrada son compatibles?

Puede ingresar cualquier texto Unicode legible, incluidos emojis, símbolos y sistemas de escritura de cualquier idioma.

¿Por qué algunos caracteres producen una salida más larga?

UTF-8 usa codificación de longitud variable. Los caracteres ASCII (como A-Z) usan 1 byte, los caracteres acentuados usan 2 bytes, los caracteres CJK y símbolos comunes usan 3 bytes, y los emojis usan 4 bytes.

¿Es segura la herramienta?

Sí, toda la codificación ocurre localmente en su navegador usando JavaScript. No se envían datos a ningún servidor.

¿Puedo codificar datos binarios?

Esta herramienta está diseñada para codificar texto. Use un conversor de hex o codificador binario para archivos binarios.

¿Cuántos bytes usa un carácter UTF-8?

Depende del carácter: ASCII (U+0000-U+007F) usa 1 byte, latino/griego/cirílico (U+0080-U+07FF) usa 2 bytes, CJK y la mayoría de símbolos (U+0800-U+FFFF) usan 3 bytes, y emojis y escrituras raras (U+10000-U+10FFFF) usan 4 bytes. El máximo es 4 bytes por carácter.

¿Qué es un BOM UTF-8?

BOM significa Byte Order Mark (Marca de Orden de Bytes). En UTF-8, es la secuencia de 3 bytes EF BB BF colocada al inicio de un archivo. A diferencia de UTF-16, UTF-8 no necesita un BOM ya que su orden de bytes es siempre el mismo. Sin embargo, algunos programas de Windows (como el Bloc de notas) lo añaden automáticamente. El BOM puede causar problemas con scripts PHP, análisis de CSV y scripts de shell. Práctica recomendada: guarde archivos como "UTF-8 sin BOM" en su editor de texto.

¿Cuál es la diferencia entre la codificación UTF-8 y la codificación de URL?

La codificación UTF-8 convierte caracteres de texto en secuencias de bytes sin procesar (por ejemplo, el signo de euro se convierte en E2 82 AC). La codificación de URL (percent-encoding) toma esos bytes UTF-8 y envuelve cada uno con un signo de porcentaje para uso seguro en URLs (por ejemplo, el signo de euro se convierte en %E2%82%AC). La codificación de URL se basa en UTF-8: primero el carácter se codifica en UTF-8, luego cada byte se codifica con porcentaje.

¿Qué formato de codificación usa internamente?

Usa el estándar UTF-8 definido por el Consorcio Unicode (RFC 3629). Esta es la misma codificación utilizada por más del 98% de los sitios web en todo el mundo.

¡Pruebe sus APIs hoy!

Escriba en español sencillo y Qodex lo convierte en pruebas seguras y listas para ejecutar.