Conversor de unidades de código UTF-16
Escriba Hi y obtendrá 00480069 con orden big-endian, es decir, dos unidades de código y 4 bytes. En little-endian, la H pasa a 48 00. Pegue un volcado hexadecimal para leerlo como texto; los pares sustitutos rotos se rechazan. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- Hi
- Modo de cálculo
- Encode
- Orden de bytes
- Be
- Resultado
- 00480069
- Unidades de código
- 2
- Bytes
- 4
Esta herramienta convierte texto plano en un volcado hexadecimal continuo de esas unidades de código —o al revés— mientras usted elige la disposición big-endian o little-endian de cada unidad.
Qué es una unidad de código UTF-16 y por qué ayuda el hex
Un valor escalar Unicode del Plano Multilingüe Básico cabe en una unidad de código de 16 bits. Los caracteres fuera de ese plano —emojis, muchas escrituras históricas y símbolos raros— usan un par sustituto: un sustituto alto en el rango U+D800–U+DBFF seguido de un sustituto bajo en U+DC00–U+DFFF. Depurar un volcado de protocolo, una carga del portapapeles o un archivo mal etiquetado a menudo significa leer esas unidades como hexadecimal en lugar de adivinar qué byte es cuál.
La codificación convierte su texto en hexadecimal continuo en mayúsculas, de modo que cada dos dígitos hex son un byte y cada cuatro dígitos son una unidad de código bajo el orden de bytes que haya seleccionado. La descodificación invierte esa ruta: los espacios, dos puntos, guiones bajos y guiones de la cadena hex se ignoran, así puede pegar volcados de líneas de registro o de capturas de paquetes sin un paso de limpieza aparte.
La respuesta indica siempre cuántas unidades de código y cuántos bytes se han producido, lo que facilita compararlo con un campo de longitud de una especificación binaria. Como la conversión es puro trabajo local de análisis, entradas idénticas dan siempre salidas idénticas, sin deriva de modelo y sin dependencia de la red.
Orden de bytes, selección de modo y reglas de buena formación
El modo tiene por defecto encode: aporte texto plano y reciba hex. Cambie el modo a decode cuando la entrada ya sea una representación hex de bytes UTF-16. El orden de bytes tiene por defecto be (big-endian), de modo que U+0048 se convierte en el par de bytes 00 48; elija le para el little-endian 48 00, que coincide con muchas disposiciones de memoria de Windows y ARM.
El orden de bytes se aplica a cada unidad de código de forma independiente; no hay prefijo ni recorte automático de BOM: si necesita una BOM, añade o quita usted mismo el patrón familiar FEFF como unidades explícitas. La descodificación exige una longitud hex que sea múltiplo de cuatro tras la limpieza, porque cada unidad de código son dos bytes.
Tanto en codificación como en descodificación se comprueba que el flujo no tenga sustitutos sueltos: una unidad alta sin una unidad baja detrás, una unidad baja sin una unidad alta delante, o un par truncado al final de la entrada fallan todos. Esa regla evita la corrupción silenciosa cuando un volcado se cortó a mitad de carácter o cuando una cadena ya contenía un sustituto solitario.
Los valores de modo u orden no válidos también fallan de inmediato con un mensaje específico del campo, para que el cliente pueda corregir la solicitud sin adivinar.
Dónde ejecutarlo y cómo funciona el precio
Para una inspección puntual —leer un volcado UTF-16LE de una exportación del registro de Windows, comprobar cómo un emoji se expande en dos unidades de código o confirmar que el hex big-endian de un socio coincide con su texto— use la herramienta gratuita del navegador. Meta la llamada en un cuaderno de ingeniería inversa, en un arnés de QA que afirma la igualdad del formato en el cable, o en un flujo de soporte donde los clientes pegan hex y usted necesita la cadena legible sin abrir un editor hexadecimal.
Como la capacidad es trabajo de análisis de tier A, la latencia se mantiene baja y no hay coste de contenedor ni de modelo que volver a medir tras cada despliegue.
Qué puede hacer con ella
Soporte e ingeniería inversa
Descodifique volcados hex UTF-16 aportados por clientes a texto legible, rechazando flujos de sustitutos truncados o sueltos.
Preguntas frecuentes
¿Qué devuelve el modo de codificación?
No se añade ninguna BOM de forma automática.
¿Cuál es la diferencia entre be y le?
be (big-endian) almacena primero el byte alto en cada unidad de 16 bits; le (little-endian) almacena primero el byte bajo. Elija la disposición que espere su formato de destino.
¿Qué ocurre con un sustituto suelto?
No se devuelve hex ni texto parcial, y la llamada fallida no se cobra.
¿Puedo pegar hex con espacios o dos puntos?
Sí, en modo descodificación. Los espacios, guiones bajos, dos puntos y guiones se eliminan antes de analizar. Los dígitos restantes deben formar unidades de código completas de dos bytes.
¿La herramienta añade una marca de orden de bytes?
No. Al codificar no se añade nada al principio y al decodificar no se quita nada. Si su archivo o protocolo necesita la marca FEFF, añádala usted como una unidad explícita, o quítela del volcado antes de pegarlo.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/utf16 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Hi"}'const res = await fetch("https://api.kit.forhosting.com/enc/utf16", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Hi"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/utf16",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Hi"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/utf16", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Hi"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Hi"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/utf16", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "Hi"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.utf16",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
UTF-16 sigue siendo el formato en el cable y en memoria que hay detrás de las API de Windows, de muchos protocolos binarios, de la representación interna de las cadenas de JavaScript y de formatos de intercambio que hablan con unidades de código de 16 bits en lugar de bytes UTF-8 en crudo. Los pares sustitutos de caracteres fuera del Plano Multilingüe Básico se mantienen intactos; un sustituto alto o bajo suelto falla con un error claro de invalid_input en lugar de producir bytes ambiguos. La misma ruta determinista alimenta el formulario gratuito del navegador y la API a $0.002 por solicitud correcta.
Dónde ejecutarlo y cómo funciona el precio
Cada llamada correcta a la API cuesta $0.002; la validación fallida, incluidos los sustitutos sueltos y el hex mal formado, no se factura, así que sondear volcados defectuosos no vacía el saldo prepago. Las respuestas son JSON determinista con el resultado convertido, el modo y el orden de bytes resueltos, y los recuentos de unidades de código y de bytes.
Casos de integración
Depuración de protocolos y formatos binarios
Convierta texto humano en hex UTF-16 big-endian o little-endian para compararlo con capturas de paquetes, búferes de la API de Windows o ejemplos de especificación.
Generación de fixtures y datos de prueba
Genere fixtures hex deterministas para pruebas unitarias que afirman la longitud de codificación, los pares sustitutos y las disposiciones específicas de cada orden de bytes.
Preguntas técnicas
¿Cuánto cuesta la API?
$0.002 por solicitud correcta. La herramienta del navegador es gratuita. La entrada no válida no se cobra.