Base64 convierte 3 bytes en 4 caracteres
La codificación Base64 toma los datos de 3 en 3 bytes (24 bits), divide esos bits en cuatro grupos de 6 y escribe cada número del 0 al 63 con uno de estos 64 caracteres: A-Z, a-z, 0-9, + y /. Por eso tres bytes siempre se convierten en cuatro caracteres y el resultado ocupa aproximadamente un 33 % más que el original. El texto se transforma antes en bytes: «¡Hola, señor! 👋» son 20 bytes (la ñ y la ¡ ocupan dos bytes en UTF-8 y el emoji, cuatro) y se convierte en wqFIb2xhLCBzZcOxb3IhIPCfkYs=, de 28 caracteres y con un = al final. Base64 no es un cifrado, así que cualquiera puede revertirlo.
La herramienta de arriba permite editar cualquiera de los dos cuadros. Si cambia el texto, se codifica; si pega un valor en el cuadro Base64, se decodifica. También quita el envoltorio de valores como una cabecera Authorization: Basic, un asunto de correo del tipo =?ISO-8859-1?B?…?=, una dirección data:, un certificado PEM o un -EncodedCommand de PowerShell. Los bytes que no son UTF-8 válido se prueban como Windows-1252 o UTF-16, o se muestran como archivo (por ejemplo, PNG o PDF). La ruta de lectura enseña los pasos de la conversión, y el carril de grupos y la lupa muestran dónde 3 bytes se convierten en 4 caracteres.
Cuándo hay que decodificar o crear Base64 a mano
- Para comprobar una cabecera de autenticación HTTP Basic: la RFC 7617 une el usuario, dos puntos (:) y la contraseña, lo codifica en Base64 y lo envía tras
Authorization: Basic. Por ejemplo,admin:1234esYWRtaW46MTIzNA==. Eso significa también que cualquiera que vea la cabecera puede leer la contraseña, así que Basic solo debe usarse sobre HTTPS. - Cuando el asunto de un correo aparece como =?ISO-8859-1?B?…?=: las cabeceras de correo solo admiten ASCII, de modo que un asunto con tildes, ñ o signos como ¡ se escribe como encoded-word de la RFC 2047. Lo que hay entre los primeros signos de interrogación (aquí ISO-8859-1) es la codificación de caracteres y la B indica Base64. Si pega la cabecera completa, la herramienta la decodifica con la codificación indicada:
=?ISO-8859-1?B?UGVkaWRvIGVudmlhZG86IG66IDIwMjYsIKFncmFjaWFzIQ==?=se lee como «Pedido enviado: nº 2026, ¡gracias!». El estándar de codificación de WHATWG trata ISO-8859-1 como Windows-1252. - Al leer valores de configuración o un Secret de Kubernetes: los valores del campo data de un Secret de Kubernetes deben ser cadenas en Base64; si no quiere codificarlos, existe el campo stringData. La herramienta sirve para saber qué contiene un valor guardado o para generar el Base64 de uno nuevo.
- Para meter una imagen o un PDF dentro de un JSON: Base64 es una forma habitual de llevar los bytes de un archivo en un formato que solo admite texto. Si el valor del cuadro Base64 no es texto, la herramienta muestra el tipo y el tamaño y permite guardarlo como archivo.
- Para ver el contenido de un JWT: cada parte de un JWT separada por puntos es Base64url (RFC 7515): caracteres URL-safe y sin el = final. La cabecera y el contenido (payload) también se decodifican aquí, pero la firma no se verifica.
- Para crear o revisar un valor de PowerShell -EncodedCommand: la documentación de PowerShell indica que el valor debe ser el Base64 de una cadena en UTF-16LE. El mismo
Get-DateesR2V0LURhdGU=en UTF-8 yRwBlAHQALQBEAGEAdABlAA==en UTF-16LE. - Al trabajar con archivos de certificados y claves (PEM): el cuerpo entre líneas como
-----BEGIN CERTIFICATE-----es Base64, partido en líneas de 64 caracteres según la RFC 7468. Al decodificarlo se obtienen bytes en formato DER.
Cómo se usa
- Codificar: escriba o pegue un texto en el cuadro de texto, o elija un archivo con «Añadir archivo». También puede arrastrar o pegar un archivo en el cuadro de texto. El Base64 aparece enseguida en el cuadro Base64.
- Decodificar: pegue un valor en el cuadro Base64. No importa que lleve comillas o el nombre de una cabecera alrededor. El texto aparece en el cuadro de texto; si los bytes no son texto, una tarjeta de archivo indica el tipo y el tamaño.
- Elegir la forma: en la barra de ajustes puede elegir entre estándar (+ /) y URL-safe (- _), con = o sin =, y una sola línea o líneas de 76 o de 64 caracteres. La forma de un valor pegado se copia a los ajustes, de modo que, si edita el texto decodificado, se vuelve a generar con la misma forma.
- Codificación del texto: por defecto se detecta sola. Si el texto decodificado se ve raro, elija usted UTF-8, UTF-16LE, Windows-1252 u otra codificación. Si el cuadro contiene un valor por línea, active «Cada línea por separado».
- Comprobar: la ruta de lectura muestra el envoltorio quitado, los espacios ignorados y el relleno añadido. Al pulsar un grupo del carril, la lupa enseña sus bits. Si otra herramienta da un resultado distinto, busque la causa en la lista «Mismo texto, otro Base64» y pulse una fila para copiar ese valor.
La regla por la que 3 bytes se convierten en 4 caracteres
Tomemos los tres bytes ASCII de «Sol»: 53 6F 6C. Unidos forman 24 bits; cortados de 6 en 6 dan cuatro números entre 0 y 63; si los busca en el alfabeto de más abajo, obtiene U29s.
| Paso | Primer byte | Segundo byte | Tercer byte |
|---|---|---|---|
| Bytes | 53 | 6F | 6C |
| De 8 en 8 bits | 01010011 | 01101111 | 01101100 |
| De 6 en 6 bits | 010100 · 110110 · 111101 · 101100 | ||
| Número | 20 · 54 · 61 · 44 | ||
| Carácter | U · 2 · 9 · s | ||
Cuando los datos no se dividen exactamente en grupos de 3 bytes, los bits que faltan se rellenan con 0 para completar el último carácter y los huecos vacíos se escriben con =. Si sobra un byte, resultan 2 caracteres y ==; si sobran dos bytes, 3 caracteres y =. La RFC 4648 establece que el codificador rellena con ceros y que el decodificador puede rechazar cualquier otro valor.
| Texto | Bytes | Base64 | Sin = |
|---|---|---|---|
| Sol | 3 | U29s | U29s |
| So | 2 | U28= | U28 |
| S | 1 | Uw== | Uw |
| 😀 | 4 | 8J+YgA== | 8J+YgA |
| +0 | +1 | +2 | +3 | +4 | +5 | +6 | +7 | |
|---|---|---|---|---|---|---|---|---|
| 0 | A | B | C | D | E | F | G | H |
| 8 | I | J | K | L | M | N | O | P |
| 16 | Q | R | S | T | U | V | W | X |
| 24 | Y | Z | a | b | c | d | e | f |
| 32 | g | h | i | j | k | l | m | n |
| 40 | o | p | q | r | s | t | u | v |
| 48 | w | x | y | z | 0 | 1 | 2 | 3 |
| 56 | 4 | 5 | 6 | 7 | 8 | 9 | + / - | / / _ |
Cuánto mide el Base64
Con relleno, la longitud es 4 × ⌈n ÷ 3⌉ (n = número de bytes); sin relleno, ⌈4n ÷ 3⌉. Lo que cuenta es el número de bytes, no el de caracteres. En UTF-8 una letra sin tilde ocupa 1 byte, una vocal con tilde o la ñ ocupan 2 y un emoji, 4, así que un texto con muchos acentos o símbolos crece más que uno en ASCII puro. Si se parte cada 76 caracteres con un salto CRLF, como hace el correo, cada línea suma 2 caracteres.
| Original | Bytes | Con = | Sin = | Líneas de 76 (CRLF) | Aumento |
|---|---|---|---|---|---|
| Hello | 5 | 8 | 7 | 8 | 60 % |
| ¡Hola, señor! 👋 | 20 | 28 | 27 | 28 | 40 % |
| 100 bytes | 100 | 136 | 134 | 138 | 36 % |
| 1 KiB | 1024 | 1368 | 1366 | 1402 | 33,6 % |
| 1 MiB | 1.048.576 | 1.398.104 | 1.398.102 | 1.434.896 | 33,3 % |
| 5 MiB (límite de archivo) | 5.242.880 | 6.990.508 | 6.990.507 | 7.174.468 | 33,3 % |
Estándar, URL-safe, MIME y PEM: en qué se diferencian
Los nombres cambian, pero el cálculo de 3 bytes a 4 caracteres es el mismo. Solo varían tres cosas: los caracteres 62 y 63, el = final y el salto de línea.
| Variante | 62 y 63 | = final | Salto de línea | Uso habitual | Fuente |
|---|---|---|---|---|---|
| Estándar | + / | Se mantiene | Ninguno | Datos en general, direcciones data:, Basic auth | RFC 4648, sección 4 |
| URL-safe | - _ | Se mantiene o se quita | Ninguno | Valores en URL y nombres de archivo | RFC 4648, sección 5 |
| JWT (Base64url) | - _ | Se quita | Ninguno | Las tres partes de un JWT o JWS | RFC 7515, sección 2 |
| MIME (correo) | + / | Se mantiene | Líneas de 76 caracteres como máximo | Cuerpo y adjuntos del correo | RFC 2045, sección 6.8 |
| PEM | + / | Se mantiene | Líneas de 64 caracteres (salvo la última) | Archivos de certificados y claves | RFC 7468, sección 2 |
| Comando GNU base64 | + / | Se mantiene | 76 por defecto; con -w 0, una línea | Línea de comandos de Linux | Manual de coreutils |
Las reglas de decodificación también varían en rigor. La RFC 4648 manda rechazar los caracteres ajenos al alfabeto, mientras que la RFC 2045, la del correo, manda ignorar los saltos de línea y los caracteres que no están en la tabla. La función atob() del navegador solo elimina los espacios y falla si encuentra - o _ (forgiving-base64 de WHATWG). Esta herramienta ignora saltos de línea y espacios, devuelve a su carácter los %2B, %2F y %3D de las URL y los \n escritos en JSON, y acepta caracteres estándar y URL-safe. Ante cualquier otro se detiene e indica su posición.
El mismo texto da un Base64 distinto en cada codificación
Base64 solo escribe bytes como caracteres, así que el resultado depende de en qué bytes se haya convertido el texto, es decir, de la codificación. El ASCII puro, como Hello, tiene los mismos bytes en UTF-8 y en Windows-1252 y por eso el Base64 coincide. Las letras con tilde y la ñ sí difieren entre ambas, y UTF-16 duplica cada carácter, de modo que ningún resultado se repite. El símbolo € es un buen ejemplo: en Windows-1252 es el byte 80 y en UTF-8 son tres bytes.
| Texto | UTF-8 | Windows-1252 | UTF-16LE | UTF-16BE |
|---|---|---|---|---|
| señor | c2XDsW9y | c2Xxb3I= | cwBlAPEAbwByAA== | AHMAZQDxAG8Acg== |
| ¿Qué? | wr9RdcOpPw== | v1F16T8= | vwBRAHUA6QA/AA== | AL8AUQB1AOkAPw== |
| Hello | SGVsbG8= | SGVsbG8= | SABlAGwAbABvAA== | AEgAZQBsAGwAbw== |
| € | 4oKs | gA== | rCA= | IKw= |
La detección automática mira primero los bytes iniciales por si son la firma de un archivo, como PNG o JPEG. Después prueba, por orden, (1) una codificación indicada o fija, como en un asunto de correo, una dirección data: o PowerShell; (2) un BOM al principio (EF BB BF, FF FE, FE FF); (3) la forma de UTF-16, con un byte 00 tras cada carácter ASCII; (4) UTF-8, y se queda con la primera lectura sin caracteres de control. Si ninguna sirve, lee los bytes como EUC-KR, Shift_JIS, Windows-1252 y UTF-16 sin bytes 00, y elige la lectura que mejor se llena con las letras propias de esa codificación (hangul, kana y kanji, letras latinas con tilde). Si hay empate, gana la codificación del idioma de la página (en esta, Windows-1252). Los bytes por sí solos no demuestran la codificación, así que, si el resultado parece raro, elíjala usted en la barra de ajustes.
Envoltorios que la herramienta quita de los valores pegados
Un valor copiado suele llevar alrededor del Base64 el nombre de una cabecera o una marca de formato. Las formas de la tabla se desenvuelven y solo se lee el Base64 interior; al editar el texto, se vuelve a poner el mismo envoltorio (salvo en un JWT, que necesita su firma). Si pulsa la x del botón «Envoltorio conservado» en la ruta de lectura, se quita el envoltorio.
| Forma | Ejemplo | Qué hace |
|---|---|---|
| Basic auth | Authorization: Basic cm9i… | Se lee primero como UTF-8 |
| Asunto de correo | =?ISO-8859-1?B?UGVkaWRv…?= | Se lee con la codificación indicada; varias palabras se unen; al regenerarlo, cada palabra se mantiene en 75 caracteres o menos |
| Dirección data: | data:image/png;base64,iVBOR… | Se usan el tipo y el charset; si falta ;base64, avisa de que no es Base64 |
| PEM | -----BEGIN CERTIFICATE----- | Solo se lee el cuerpo y se mantienen las líneas de 64 caracteres |
| PowerShell | powershell -EncodedCommand RwBl… | Se lee como UTF-16LE |
| JWT, Bearer | eyJhbGci….eyJzdWIi….firma | La cabecera y el contenido se decodifican en líneas separadas; la firma se omite |
| Comillas, Python | "SGVsbG8=", b'SGVsbG8=' | Solo se quitan las comillas |
| %XX en una URL | SGVsbG8%3D | %2B, %2F y %3D se convierten de nuevo en +, / y = |
| \n dentro de un JSON | MIIB…\nMIIC… | Se toma como salto de línea y se ignora |
Cuando no se decodifica: causas según el error
Si no se puede leer el valor del cuadro Base64, la línea de estado indica en qué carácter se detuvo y muestra los caracteres de alrededor. El cuadro de texto queda atenuado y conserva el último resultado leído con éxito.
| Estado | Ejemplo | Causa | Solución |
|---|---|---|---|
| Carácter que no es Base64 | SGVs bG8! | Se han colado caracteres como !, : o letras con tilde | Quitar el texto explicativo y los símbolos y dejar solo el valor |
| Longitud incorrecta | SGVsb | En el último grupo de 4 solo queda 1 carácter | Comprobar si al copiar se ha perdido o añadido un carácter |
| Número de = incorrecto | SGVsbG8== | Con esta longitud corresponde exactamente un = | Quitar un = |
| Caracteres tras = | SGVsbG8=V29ybGQ= | Hay dos valores pegados | Separarlos en líneas y activar «Cada línea por separado» |
| Bits finales distintos de 0 (aviso) | SGVsbG | Los bits sobrantes del último carácter no son 0, así que el final puede estar cortado (se decodifica como Hell) | Revisar el final del original |
| No es UTF-8 válido | UulzdW3p | Bytes de otra codificación, aquí Windows-1252 (Résumé) | Mirar el resultado de la detección automática o elegir la codificación |
| Parece un archivo | iVBORw0KGgo… | Bytes que no son texto (este es la firma de un PNG) | Guardarlo desde la tarjeta de archivo |
Cuando el resultado difiere del de otra herramienta
Si introduce el mismo texto y el Base64 sale distinto, casi siempre son distintos los bytes o los ajustes de forma. La lista «Mismo texto, otro Base64» que hay bajo la herramienta recalcula los casos siguientes con su texto actual y muestra la primera diferencia.
| Causa | Texto | Diferencia |
|---|---|---|
| Salto de línea final añadido por echo | hello | printf da aGVsbG8= y echo da aGVsbG8K |
| Saltos de línea LF o CRLF | Primera línea ↵ Segunda línea | LF UHJpbWVyYSBsw61uZWEKU2VndW5kYSBsw61uZWE=, CRLF UHJpbWVyYSBsw61uZWENClNlZ3VuZGEgbMOtbmVh |
| Codificación del texto | señor | UTF-8 c2XDsW9y, Windows-1252 c2Xxb3I= |
| Estándar o URL-safe | 😀 | 8J+YgA==, 8J-YgA== |
| Relleno | Hello | SGVsbG8=, SGVsbG8 |
| Salto de línea | Un archivo grande | base64 de GNU parte cada 76 caracteres; con -w 0 deja una sola línea |
| Tolerancia del decodificador | Zm9v-_ | Python b64decode() descarta - y _ por defecto y deja solo b'foo'; esta herramienta los lee como caracteres URL-safe |
Hacerlo en código
La función btoa() del navegador lanza InvalidCharacterError con cualquier carácter que no quepa en un byte, como € o un emoji. Con ñ no da error, pero codifica el byte Latin-1 (btoa('ñ') da 8Q==) y no el UTF-8 (w7E=), así que conviene pasar antes el texto a bytes UTF-8. El nuevo Uint8Array.prototype.toBase64() funciona desde Chrome 140, Firefox 133 y Safari 18.2.
// JavaScript: convertir antes el texto en bytes UTF-8 (válido para textos cortos)
const bytes = new TextEncoder().encode('señor');
const b64 = btoa(String.fromCharCode(...bytes)); // c2XDsW9y
const back = new TextDecoder().decode(Uint8Array.from(atob(b64), c => c.charCodeAt(0)));
bytes.toBase64({ alphabet: 'base64url', omitPadding: true }); // API más reciente
# Python
import base64
base64.b64encode('señor'.encode('utf-8')) # b'c2XDsW9y'
base64.b64decode('SGVsbG8') # sin = al final: binascii.Error: Incorrect padding
base64.b64decode('Zm9v-_', validate=True) # da error en lugar de descartar los caracteres ajenos al alfabeto
# Línea de comandos
printf '%s' 'señor' | base64 # echo añade un salto de línea final
base64 -w 0 informe.pdf # GNU: sin partir líneas (el base64 de macOS usa una línea por defecto; -b 76 parte)
Errores frecuentes
- Creer que Base64 es un cifrado: cualquiera puede revertirlo sin clave. Pasar una contraseña o un token a Base64 no los oculta.
- Usar tal cual un valor creado con echo:
echoañade un salto de línea final y el resultado acaba distinto, por ejemplo enKo eno=. Useprintf '%s'oecho -n. - Cambiar mayúsculas y minúsculas: Base64 trata las mayúsculas y las minúsculas como caracteres distintos. Si las cambia para uniformar el texto, obtiene otros datos o un valor que ya no se decodifica.
- Poner Base64 estándar directamente en la consulta de una URL: al interpretar datos de formulario el + se convierte en un espacio, y / y = también tienen significado dentro de una URL. Use URL-safe o codifique el valor con porcentajes.
- Codificar dos veces: si el resultado decodificado sigue pareciendo Base64, junto a la línea de estado aparece el botón «Decodificar otra vez».
- Olvidar el prefijo data: de una imagen: en HTML o CSS hace falta el prefijo
data:image/png;base64,. Para imágenes, el conversor de imagen a Base64 genera también las formas para HTML y CSS.
Limitaciones
- Se pueden añadir archivos de hasta 5 MB (unos 7 millones de caracteres en Base64). Si el texto de un cuadro supera los 400.000 caracteres, solo se ven el principio y el final; al copiar o guardar se incluye entero.
- La detección automática es una estimación a partir de la forma de los bytes. Un valor corto puede leerse en varias codificaciones, así que puede equivocarse.
- Se pueden generar UTF-8, UTF-16LE y BE, EUC-KR (CP949), Shift_JIS y Windows-1252. Una codificación indicada en el asunto de un correo que la herramienta no puede generar, como ISO-2022-JP, solo se lee; si edita el texto decodificado, se vuelve a generar en UTF-8.
- No se verifica la firma de un JWT ni se decodifica la codificación Q de un asunto de correo (=?…?Q?…?=).
- Un cuadro de texto del navegador convierte los saltos de línea en LF, así que los saltos del cuadro de texto se codifican como LF. Si necesita CRLF, copie la fila CRLF de «Mismo texto, otro Base64».
- El carril de grupos dibuja los primeros 480 grupos (1440 bytes). El resto también se convierte y se copia.
- Todo se convierte dentro de este navegador; el valor que introduce no se envía a ningún servidor ni se guarda en la dirección ni en el almacenamiento.
Fuentes
Criterio: el formato Base64 sigue la RFC 4648, los usos en correo, PEM, cabeceras de autenticación y JWT siguen sus propias RFC, el comportamiento del navegador sigue los estándares de WHATWG y MDN, y el de la línea de comandos y de cada lenguaje sigue su manual; todo se comprobó el 21 de octubre de 2026. Los valores de las tablas se contrastaron con esta herramienta y con el módulo base64 de Python 3.14.
- 01RFC 4648 — The Base16, Base32, and Base64 Data Encodings3.1 saltos de línea, 3.3 rechazo de caracteres ajenos al alfabeto, 3.5 bits sobrantes a 0, sección 4 alfabeto, sección 5 URL-safe (- _), sección 10 valores de prueba
- 02RFC 2045 — MIME Part One6.8 líneas de 76 caracteres como máximo; el decodificador ignora los saltos de línea y los caracteres que no están en la tabla
- 03RFC 2047 — MIME Part Three: Message Header Extensionsforma encoded-word =?charset?B?…?=, 75 caracteres como máximo por palabra, B = BASE64
- 04RFC 7468 — Textual Encodings of PKIX Structuresel cuerpo PEM se parte en líneas de 64 caracteres, salvo la última
- 05RFC 7617 — The 'Basic' HTTP Authentication Schemeusuario + ':' + contraseña en Base64; el parámetro charset solo admite UTF-8
- 06RFC 7515 — JSON Web Signature (JWS)Sección 2, Base64url: caracteres URL-safe, sin el = final y sin saltos de línea
- 07RFC 2397 — The "data" URL schemedata: + tipo de medio + ;base64 opcional + coma + datos
- 08WHATWG Infra — forgiving-base64 decodeReglas de atob(): quitar espacios, admitir 1 o 2 = finales, fallar con caracteres ajenos a + /
- 09WHATWG — Encoding StandardCómo lee TextDecoder UTF-8, UTF-16, EUC-KR, Shift_JIS y Windows-1252
- 10MDN — Window.btoa()InvalidCharacterError con caracteres que no caben en un byte
- 11MDN — Uint8Array.prototype.toBase64()opciones alphabet (base64, base64url) y omitPadding; las versiones compatibles salen de los datos de compatibilidad de MDN
- 12Python 3 — base64 moduleb64decode(validate=False) descarta los caracteres ajenos al alfabeto; urlsafe_b64encode
- 13GNU coreutils — base64(1)-w (--wrap) vale 76 por defecto; 0 significa sin partir líneas
- 14Microsoft Learn — about_PwshEl valor de -EncodedCommand es el Base64 de una cadena UTF-16LE
- 15Kubernetes — SecretsLos valores del campo data van en Base64; con stringData no hace falta codificar
Preguntas frecuentes
¿Base64 es un cifrado?
No. Base64 solo escribe bytes con 64 caracteres imprimibles, así que cualquiera puede recuperar el valor original sin clave. Por ejemplo, YWRtaW46MTIzNA== en una cabecera Basic se decodifica directamente como admin:1234. Para proteger una contraseña o un token hay que usar HTTPS y un cifrado real.
¿Por qué el mismo texto da un Base64 distinto en otras webs?
Casi siempre porque los bytes son distintos. «señor» es c2XDsW9y en UTF-8, c2Xxb3I= en Windows-1252 y cwBlAPEAbwByAA== en UTF-16LE. También cambian el resultado el salto de línea final que añade echo (hello pasa a ser aGVsbG8K), CRLF en lugar de LF, los caracteres URL-safe, un = que falta y las líneas de 76 caracteres. La lista «Mismo texto, otro Base64» bajo la herramienta muestra estos casos en paralelo.
¿Qué es el = del final y se puede quitar?
El = es el relleno que completa el último grupo de 4 caracteres cuando procede de menos de 3 bytes; no forma parte de los datos. Si sobra un byte, se añade ==; si sobran dos, =. Algunos formatos, como JWT, mandan quitarlo y otros no, así que conviene seguir la regla de quien recibe el valor. Esta herramienta lo lee con o sin =.
¿Cómo se calcula la longitud del Base64?
Con relleno es 4 × ⌈bytes ÷ 3⌉; sin relleno, ⌈4 × bytes ÷ 3⌉. Hello son 5 bytes y da 8 caracteres, «¡Hola, señor! 👋» son 20 bytes y da 28, y 1 MiB (1.048.576 bytes) da 1.398.104, es decir, un 33 % más. Si se parte cada 76 caracteres con CRLF, cada línea suma 2 caracteres.
¿Qué hago si el texto decodificado sale con caracteres rotos?
Lo más probable es que los bytes originales no sean UTF-8. Si no se leen como UTF-8, esta herramienta los vuelve a probar como Windows-1252 y UTF-16. Si la é se ve como é o el texto sigue pareciendo raro, elija usted en la barra de ajustes UTF-8, UTF-16LE, Windows-1252 u otra codificación y compare.
¿Qué formato de Base64 debo poner en una URL?
Lo seguro es usar Base64 URL-safe. En el estándar, el + se interpreta como un espacio al leer datos de formulario, y / y = tienen significado dentro de una URL. URL-safe cambia los caracteres 62 y 63 por - y _ (RFC 4648, sección 5); si quien recibe el valor no quiere el =, elija también «Sin =».
¿Cómo se lee un asunto de correo como =?ISO-8859-1?B?…?=?
Es un encoded-word de la RFC 2047. Lo que hay entre el primer y el segundo signo de interrogación es la codificación de caracteres, la B indica Base64 y lo siguiente es el cuerpo en Base64. Si pega el valor completo en el cuadro Base64, se decodifica con la codificación indicada y los asuntos partidos en varias palabras se unen. Un valor marcado con Q no es Base64 y no se decodifica.
¿Puedo volver a convertir en archivo una imagen o un PDF en Base64?
Sí. Si el valor del cuadro Base64 no es texto, la herramienta mira los primeros bytes para saber el tipo (PNG, JPEG, PDF, ZIP…), muestra una tarjeta de archivo y permite guardarlo. En sentido contrario, «Añadir archivo» convierte archivos de hasta 5 MB. Todo ocurre en el navegador y no se envía nada a ningún servidor.