Cómo usar el codificador y decodificador
- Si no estás seguro de lo que tienes, deja seleccionada la «Detección automática» y pega el texto arriba. Averigua si es URL (%xx), secuencias Unicode (\uXXXX), entidades HTML (< y similares) o Base64, y lo decodifica al momento.
- Para elegir tú mismo, escoge el método (URL, Base64, entidades HTML, secuencias Unicode) y el sentido (codificar o decodificar). El resultado aparece debajo mientras escribes, junto con el recuento de caracteres y bytes.
- La codificación de URL te deja elegir un solo valor o una dirección completa, la codificación Base64 ofrece caracteres seguros para URL y omitir el = final, y HTML y Unicode te permiten decidir hasta dónde convertir el texto no ASCII.
- Usa el botón de copiar para llevarte el resultado, o envíalo de vuelta a la entrada para convertirlo una vez más. En el cuadro de archivos de abajo, un archivo de hasta 3 MB puede convertirse en Base64 o en una URI de datos y copiarse.
Cómo se decodifican las direcciones coreanas rotas
Cuando un texto no ASCII entra en una dirección, los bytes UTF-8 de cada letra se escriben como % más dos dígitos hexadecimales, lo que se llama codificación porcentual. Por ejemplo, la letra coreana 안 son los tres bytes UTF-8 EC 95 88, así que se convierte en %EC%95%88. La mayoría de los sitios usan UTF-8, pero algunos sitios coreanos antiguos aún generan direcciones EUC-KR (CP949), donde la palabra 한글 se escribe %C7%D1%B1%DB. La misma forma %xx decodificada como UTF-8 sale rota.
Para cada tramo de bytes %xx consecutivos, esta herramienta prueba primero UTF-8 y, si no es válido, prueba EUC-KR. Las direcciones que mezclan ambos se tratan tramo a tramo, y un fragmento que no se decodifica en ninguno se deja como está mientras la herramienta te indica cuántos quedan. Las direcciones codificadas dos veces, como %2525, se decodifican hasta tres veces cuando la opción está activada. Todo ocurre dentro de tu navegador.
Guía rápida de cada método
La codificación de URL sustituye por %xx los caracteres que tienen un significado en una dirección (? & = # / y similares) y los caracteres no seguros, como las letras no ASCII. encodeURI de JavaScript trata una dirección completa y deja en paz los caracteres estructurales, mientras que encodeURIComponent trata un solo valor y convierte también los caracteres estructurales. Usar encodeURI para un término de búsqueda en una consulta puede dejar sin tocar un & o un = y cortar el valor, así que ahí lo correcto es la opción de un solo valor. En las cadenas de consulta, a veces el espacio se escribe como +, por eso la decodificación ofrece la opción «tratar + como espacio».
Base64 convierte cada 3 bytes en 4 caracteres (letras mayúsculas y minúsculas, dígitos, + y /), así que el resultado es un 33 % más grande que el original. Cuando la longitud no es múltiplo de 3, se añade = como relleno, y la variante segura para URL usa - y _ en lugar de + y / para que quepa en direcciones y nombres de archivo. Aparece en los adjuntos de correo, en las URI de datos (data:image/png;base64,…) y en las dos primeras partes de un JWT, pero no es cifrado y cualquiera puede revertirlo.
Las entidades HTML como < (<), > (>), & (&) y " (") muestran caracteres que tienen un significado especial en HTML. También pueden escribirse por su número Unicode, como 글 o 글. La decodificación de aquí trata las entidades con nombre más comunes y todas las numéricas, y deja intactos los nombres que no están en la lista.
Las secuencias Unicode escriben un carácter por su código, como \uAC00, y son habituales en las cadenas de JavaScript y JSON. Los caracteres con números grandes, como los emoji, se escriben como un par sustituto, como \uD83D\uDE00, o con llaves, como \u{1F600}. La decodificación lee \uXXXX, \u{…}, \xXX y U+XXXX.
Consejos para obtener buenos resultados
- Codificar no es cifrar. Cualquiera puede revertir una contraseña o un token convertidos, así que nunca pegues secretos en lugares públicos.
- Elige «Un solo valor» al codificar algo como un término de búsqueda y «Una dirección completa» al tratar una dirección entera.
- Si un resultado decodificado sigue viéndose mal, el original puede ser un dato binario o de otro juego de caracteres. Un resultado Base64 que no es texto se muestra en hexadecimal y puede guardarse como archivo.
- Decodificar un enlace o un registro antes de compartirlo muestra si hay información personal (nombres, teléfonos, tokens) escondida dentro de la dirección.
- Si la detección automática se equivoca, elige tú el método. Una palabra corta en inglés puede parecer de vez en cuando Base64.
Preguntas frecuentes
¿Por qué una dirección coreana se ve como %EC%95%88?
En una dirección solo son seguras las letras, los dígitos y unos pocos símbolos, así que el texto no ASCII se escribe con codificación porcentual: los bytes UTF-8, cada uno como % más dos dígitos hexadecimales. Por ejemplo, la letra coreana 안 son los tres bytes UTF-8 EC 95 88, así que se convierte en %EC%95%88. Las barras de direcciones de los navegadores suelen mostrarla decodificada, pero al copiarla sale esta forma.
¿Qué son las direcciones como %C7%D1%B1%DB que salen rotas?
Algunos sitios coreanos antiguos codifican con EUC-KR (CP949) en lugar de UTF-8, así que la palabra 한글 aparece como %C7%D1%B1%DB. Para cada tramo de bytes %xx consecutivos, esta herramienta prueba primero UTF-8 y recurre a EUC-KR, de modo que las direcciones que mezclan ambos aún pueden leerse.
¿Base64 hace que los datos sean seguros?
No. Base64 es solo una forma de escribir bytes como texto y cualquiera puede revertirlo al instante. Codificar una contraseña o un token en Base64 no lo protege; los secretos necesitan cifrado real o control de acceso.
¿Qué diferencia hay entre encodeURI y encodeURIComponent?
encodeURI codifica una dirección completa y deja en paz los caracteres estructurales como : / ? # & =, mientras que encodeURIComponent codifica un solo valor y convierte también esos caracteres a %xx. Usa la opción de un solo valor para un valor de consulta, como un término de búsqueda, y la de dirección completa para una dirección entera.
¿Mi texto o mi archivo se envía a algún sitio?
No. Todo se convierte dentro de este navegador y no se envía ni se guarda nada en un servidor. La conversión de archivos admite archivos de hasta 3 MB.
Notas y limitaciones
Esta herramienta es una ayuda de referencia para la conversión. La detección automática adivina por la forma y puede equivocarse, y la restauración de EUC-KR solo funciona con los juegos de caracteres que admite tu navegador. Tu texto y tus archivos nunca se envían a un servidor ni se guardan. BTSPACE WAGLE es un sitio de información no oficial.