Convertidor de codificación de texto en línea (Base64 / URL / Unicode / Entidades HTML / Hex / Binario)
Convertidor de codificación de texto en línea (Base64 / URL / Unicode / Entidades HTML / Hex / Binario): codifica y decodifica texto chino y Emoji en un solo lugar
¿Cómo funciona el convertidor de codificación de texto? Siete tipos de codificación en una página
Un convertidor de codificación de texto es una herramienta en línea que convierte el mismo texto entre representaciones Base64, URL, Unicode, entidades HTML, Hex y binario.
Pega el contenido, selecciona el tipo de codificación y pulsa Codificar o Decodificar para obtener el resultado. Todo el procesamiento se realiza localmente en el navegador y el contenido introducido no se sube al servidor.
¿Por qué Base64 hace que el texto chino sea más largo?
Base64 codifica bytes en lugar de caracteres. En UTF-8, un carácter chino habitual ocupa 3 bytes y esos 3 bytes se convierten en 4 caracteres mediante Base64. Por ello, el resultado Base64 del texto chino suele ser aproximadamente un tercio más largo que el original y al final pueden aparecer uno o dos signos igual como relleno. No es un error, sino el resultado natural de representar 3 bytes con 4 caracteres.
Si el resultado se va a colocar en una URL, JWT o nombre de archivo, utiliza Base64URL. Sustituye el signo más y la barra por guion y guion bajo y elimina los signos igual finales para evitar un segundo escape durante la transmisión.
¿Debo usar encodeURI o encodeURIComponent para la codificación URL?
Usa encodeURIComponent cuando el valor vaya a aparecer como parámetro en una cadena de consulta. Codifica separadores como barras, signos de interrogación y ampersands. Usa encodeURI cuando proceses espacios y caracteres chinos de una URL completa, porque conserva estos separadores. Un síntoma típico de elegir la función incorrecta es pasar una URL completa como parámetro y que el servidor reciba solamente el primer parámetro de consulta.
¿Cuál es la diferencia entre los escapes Unicode y las entidades HTML?
Los escapes Unicode pertenecen a la capa de representación de cadenas de JavaScript y JSON. Utilizan una barra inversa seguida de u y cuatro dígitos hexadecimales para representar caracteres de forma segura en el código fuente. Las entidades HTML pertenecen a la capa del documento HTML. Por ejemplo, un signo menor que puede escribirse como < o < para que el navegador lo muestre como texto en lugar de interpretarlo como una etiqueta. El primero aborda la representación del código y el segundo la representación HTML.
Hex y binario: ¿por qué un carácter chino ocupa 3 bytes y 6 caracteres hexadecimales?
Esta herramienta muestra bytes UTF-8. Un byte equivale a 2 caracteres hexadecimales y a 8 bits binarios. Un carácter chino habitual ocupa 3 bytes en UTF-8, por lo que se muestra como 6 caracteres hexadecimales o 24 bits binarios. Al decodificar, la entrada Hex debe tener una cantidad par de caracteres y la entrada binaria debe tener una longitud múltiplo de 8; de lo contrario, la herramienta informa del error en lugar de devolver un resultado incorrecto.
¿Qué situaciones causan más errores o texto ilegible?
Hay tres casos especialmente comunes: primero, pegar saltos de línea o espacios junto con contenido Base64 puede provocar errores de decodificación o desplazamiento de caracteres; segundo, elegir una dirección de decodificación incorrecta, como intentar decodificar texto original como datos codificados; tercero, tratar contenido codificado en URL como Base64. Ante un error, comprueba primero el tipo de codificación y la dirección de codificación o decodificación.
¿Qué puede hacer esta herramienta y qué no puede hacer?
Puede realizar conversiones bidireccionales de siete tipos de codificación, incluido chino y Emoji, texto multilínea, copia en un clic y registros recientes almacenados únicamente en el navegador local. No realiza cifrado; Base64 es una codificación que cualquiera puede revertir. No procesa archivos ni imágenes y no convierte conjuntos de caracteres. Para texto chino ilegible, utiliza el convertidor de codificación de caracteres. Todo el procesamiento se realiza en el navegador y el contenido introducido no se sube al servidor.
¿Para qué se utilizan Base64, URL, Unicode, las entidades HTML, Hex y el binario?
Estos métodos de codificación resuelven problemas diferentes: Base64 permite colocar datos binarios en protocolos que solo admiten texto, como correo electrónico, JWT y Data URL; la codificación URL hace que los valores de los parámetros sean seguros para transmitirlos en enlaces; los escapes Unicode representan caracteres arbitrarios en JSON y en el código fuente JavaScript; las entidades HTML muestran caracteres como los signos angulares como texto; Hex y binario permiten comprobar la representación real de los datos a nivel de bytes.
Reunir las codificaciones habituales en una sola página facilita la resolución de problemas con parámetros de API, registros ilegibles y formatos de datos sin tener que cambiar entre varios sitios.
- La entrada y los resultados se procesan localmente en el navegador. No se sube contenido al servidor y no es necesario registrarse.
- Base64 codifica bytes UTF-8: un carácter chino ocupa 3 bytes, por lo que la longitud codificada es aproximadamente 1,33 veces la original; el chino y los Emoji pueden convertirse de ida y vuelta correctamente.
- La codificación URL admite las semánticas encodeURI y encodeURIComponent, con una opción para tratar el signo más como espacio al decodificar.
- Hex y binario se generan a partir de bytes UTF-8 (1 byte = 2 caracteres hexadecimales = 8 bits), lo que facilita las comparaciones byte a byte con herramientas de captura de paquetes y campos de bases de datos.
- Los caracteres no válidos, las entradas Hex de longitud impar y las entradas binarias cuya longitud no sea múltiplo de 8 se indican claramente como errores.
- Esta herramienta solo realiza codificación y decodificación, no cifrado: cualquier persona puede revertir un resultado Base64.