Formateig Base64

Entrada bàsica64
0 caràcters

Formata cadenes Base64 en línia amb amplada de caràcters personalitzable (64/76/80/100 caràcters) i sagnat (0/2/4 espais) per mostrar-les en diverses línies. Ideal per llegir cadenes llargues, comparar captures de pantalla i maquetar documents. Només modifica el format de visualització, sense alterar les dades originals de la codificació Base64.

Relacionats

Què és el formateig Base64?

El formateig Base64 consisteix a mostrar, a nivell visual, una cadena llarga de Base64 dividida en diverses línies segons una amplada de caràcters especificada (com ara 64/76/80/100), amb suport per a sagnat de 0/2/4 espais. El resultat formatat és visualment més llegible i més adequat per a captures de pantalla, impressió i maquetació de documents, però **no altera el contingut original dels bytes**; si s'eliminen tots els salts de línia i els sagnats, es recupera el Base64 original d'una sola línia.

**Per què cal formatar?** L'estàndard Base64 de RFC 4648 no obliga a fer salts de línia, però en la pràctica: ① les cadenes Base64 llargues en sistemes de tiquets, eines de xat i documents Markdown solen desbordar-se i provocar desplaçament horitzontal; ② el protocol MIME (RFC 2045) estableix un salt cada 76 caràcters (per a fitxers adjunts de correu); ③ en les revisions de codi, la visualització en diverses línies facilita la localització de caràcters anòmals; ④ la maquetació de captures per a documents requereix una alineació elegant.

**Escenaris d'ús habituals:** ① Maquetació de documentació tècnica: inserir Base64 llarg en Markdown / Confluence / Notion; ② Comparació de captures: facilitar que l'equip vegi la cadena Base64 completa en captures de PR o informes d'errors; ③ Revisió manual: localitzar ràpidament caràcters no vàlids (com ara salts de línia o espais intrusos) durant el Code Review; ④ Fitxers adjunts de correu: aplicar el salt de 76 caràcters de l'estàndard MIME per facilitar la transmissió SMTP; ⑤ Visualització de registres en pantalles grans: mostrar el contingut en diverses línies en panells de monitoratge.

**Diferència amb MIME Base64:** MIME Base64 (RFC 2045) aplica un salt fix cada 76 caràcters, com a requisit obligatori a nivell de protocol. El formateig d'aquesta eina és més flexible, admet amplades de 64/76/80/100 caràcters i sagnats de 0/2/4 espais, adequat per a diversos escenaris de documentació. El salt MIME es pot reproduir seleccionant l'amplada de 76 caràcters.

**Seguretat del formateig:** L'eina només insereix salts de línia i espais de sagnat a nivell visual, **sense modificar mai el contingut dels bytes del Base64 original**. El resultat formatejat, després d'eliminar tots els caràcters en blanc, es reconverteix en la cadena Base64 original idèntica. La majoria de descodificadors Base64 ignoren automàticament els caràcters en blanc, de manera que el resultat formatejat es pot descodificar directament.

Casos d'ús

  • Dividir cadenes Base64 molt llargues en línies d'amplada personalitzada per facilitar la lectura i les captures de pantalla
  • Formatejar Base64 per a documentació tècnica, registres de tiquets o visualització en correus
  • Optimitzar la maquetació de Base64 per a impressió o arxiu
  • Ajustar l'estructura Base64 juntament amb eines de divisió i fusió
  • Aplicar salts segons l'estàndard MIME (76 caràcters) a Base64 per a fitxers adjunts de correu
  • Mostrar Base64 en diverses línies durant revisions de codi per facilitar la localització de caràcters anòmals
  • Aplicar sagnat de 4 espais en incrustar Base64 en Markdown per mantenir l'estil de codi
  • Visualització de registres en pantalles grans: mostrar payloads Base64 llargs en diverses línies en sistemes de monitoratge

Com usar-ho

  1. Enganxa la cadena Base64 que vols formatar (pot contenir salts de línia o no)
  2. Selecciona l'amplada de caràcters per línia: 64 / 76 / 80 / 100
  3. Selecciona el sagnat: 0 / 2 / 4 espais
  4. L'eina formata i mostra el resultat en temps real amb l'amplada i el sagnat especificats
  5. Copia el resultat formatejat per a documents, o fes clic a revertir per eliminar els salts

Característiques

  • Amplada de caràcters personalitzable: admet 64 / 76 / 80 / 100 caràcters per línia, adaptació flexible a diferents necessitats de maquetació
  • Sagnat configurable: admet sagnat de 0 / 2 / 4 espais, fàcil d'alinear en blocs de codi o Markdown
  • Optimització purament visual: només ajusta la forma de visualització, sense alterar les dades originals de la codificació Base64
  • Formateig en temps real: amb antirrebot de 200 ms, es formata mentre s'escriu, sense retards
  • Reversió amb un sol clic: elimina tots els salts de línia i sagnats per restaurar el Base64 d'una sola línia
  • Comptador de caràcters i línies: mostra en temps real el nombre de caràcters d'entrada i el total de línies de sortida
  • Còpia amb un sol clic: el resultat formatejat es pot copiar directament al porta-retalls per a documents o registres de tiquets
  • Processament local al navegador, sense càrregues: tot el formateig es fa dins del navegador, sense passar per cap servidor

Exemples de codi

JavaScript: implementació manual del formateig Base64 (per entendre'n el principi)

javascript

Comprendre la lògica subjacent del formateig Base64: trossejar per amplada de caràcters i inserir salts de línia.

// Funció de formateig Base64 (coincideix amb la lògica d'aquesta eina)
function formatBase64(input, lineLength = 76, indent = 0) {
  // 1. Eliminar tots els caràcters en blanc
  const clean = input.replace(/\s/g, '');
  if (!clean) return '';

  // 2. Trossejar segons l'amplada especificada
  const lines = [];
  for (let i = 0; i < clean.length; i += lineLength) {
    const line = clean.slice(i, i + lineLength);
    lines.push(' '.repeat(indent) + line);
  }

  // 3. Unir amb salts de línia
  return lines.join('\n');
}

// Exemple d'ús
const b64 = 'a'.repeat(200);
console.log(formatBase64(b64, 76, 0));
// Sortida: Base64 amb 76 caràcters per línia

// Desformateig (per a descodificació o transmissió)
function unformatBase64(input) {
  return input.replace(/\s/g, '');
}

console.log(unformatBase64(formatBase64(b64, 76, 0)).length); // 200

Python: formateig Base64 + salts MIME

python

Implementació en Python de salts cada 76 caràcters (estàndard MIME) amb sagnat especificable.

import textwrap

def format_base64(b64_str: str, width: int = 76, indent: int = 0) -> str:
    """Formata una cadena Base64 en diverses línies"""
    # Eliminar tots els espais en blanc
    clean = ''.join(b64_str.split())
    if not clean:
        return ''

    # Utilitzar textwrap per trossejar per amplada
    lines = textwrap.wrap(clean, width=width)

    # Afegir sagnat
    if indent > 0:
        lines = [' ' * indent + line for line in lines]

    return '\n'.join(lines)


# Exemple d'ús
b64 = 'aGVsbG8gd29ybGQ=' * 10
print(format_base64(b64, 76, 0))

# Reproduir MIME Base64 (RFC 2045)
mime_format = format_base64(b64, 76)
print(f'Nombre de línies MIME Base64: {len(mime_format.splitlines())}')

# Revertir a una sola línia
single_line = b64.replace('\n', '').replace(' ', '')
print(f'Longitud de la línia única: {len(single_line)}')

Línia d'ordres: eina fold + salts MIME Base64

bash

L'eina fold integrada en sistemes Linux/macOS permet implementar ràpidament el formateig Base64 des de la línia d'ordres.

# 1. Introduir Base64 → aplicar salts de 76 caràcters (estàndard MIME)
echo "aGVsbG8gd29ybGQ=" | base64 | base64 | fold -w 76

# 2. Formatejar un fitxer Base64 llarg → sortida a un fitxer nou
fold -w 76 encoded.txt > formatted.txt

# 3. Aplicar salts de 64 caràcters (visualització compacta)
fold -w 64 encoded.txt > compact.txt

# 4. Alhora eliminar tots els salts (desformateig)
tr -d '\n' < formatted.txt > single-line.txt

# 5. Verificació: longitud Base64 + nombre de línies
wc -c encoded.txt | awk '{print "Caràcters:", $1}'
wc -l formatted.txt | awk '{print "Línies:", $1}'

# 6. Combinar amb openssl per a una codificació base64 completa + formateig
echo "Hola món" | openssl base64 -A | fold -w 76 > hello.b64.txt
cat hello.b64.txt

Preguntes freqients

El formateig canvia el contingut real del Base64?

No. El formateig només insereix salts de línia i espais de sagnat a nivell visual, sense alterar la codificació en si. Si elimines tots els caràcters en blanc del contingut formatejat, recuperes el Base64 original d'una sola línia. Tots els descodificadors Base64 (l'atob natiu del navegador, Node.js Buffer, Python base64) ignoren automàticament els caràcters en blanc, de manera que el resultat formatejat es pot utilitzar directament per descodificar.

Quina diferència hi ha entre el formateig Base64 i MIME Base64?

MIME Base64 segueix estrictament l'amplada de 76 caràcters de RFC 2045 per als salts, i és l'estàndard per a la transmissió de fitxers adjunts de correu. El formateig d'aquesta eina és més flexible: permet amplades personalitzades de 64/76/80/100 caràcters i sagnats de 0/2/4 espais, més adequat per a diferents necessitats de visualització com documents i captures. Seleccionant l'amplada de 76 caràcters es reprodueix el salt MIME.

És adequat per a visualització de registres i tiquets?

Molt adequat. Les cadenes Base64 llargues en sistemes de tiquets (Jira / Zendesk), eines de xat (Slack / Teams) o documents Markdown tendeixen a desbordar-se i provocar desplaçament horitzontal. Després del formateig, la visualització en diverses línies és clara i llegible, i es pot enganxar directament en adjunts de tiquets o finestres de xat.

Després de formatar, es pot utilitzar directament per descodificar?

Sí. Tots els descodificadors Base64 principals ignoren automàticament els salts de línia i els espais. Si trobes problemes (com ara amb versions antigues d'OpenSSL), pots fer clic primer al botó «Revertir» per eliminar els salts abans de descodificar.

Per què hi ha diverses amplades: 64 / 76 / 80 / 100 caràcters?

64 caràcters és adequat per a documents compactes (com ara terminals CLI i taules Markdown); 76 caràcters és l'estàndard MIME per a correus; 80 caràcters és l'amplada de terminal tradicional; 100 caràcters és adequat per a editors de pantalla ampla i documents moderns. Cada amplada té el seu millor escenari d'ús.

Per a què serveix el sagnat?

El sagnat (0/2/4 espais) fa que el Base64 es mantingui alineat en blocs de codi o Markdown: 0 espais és adequat per a text pur, 2 espais per a l'estil de codi JS/Python, i 4 espais per a blocs de codi imbricats en Markdown.

El formateig augmenta el nombre de caràcters del Base64?

Augmenta aproximadament un 1-3% (per salts de línia + espais de sagnat), però no afecta el resultat de la descodificació. Si la mida és sensible per a la transmissió (com ara en paràmetres URL), es recomana utilitzar primer la funció «Revertir» per recuperar la línia única.

Admet UTF-8 i caràcters no ASCII?

Aquesta eina no gestiona directament els jocs de caràcters: només formata la cadena Base64 en si mateixa. Si el Base64 conté caràcters no ASCII (com ara xinès codificat en UTF-8 i després en Base64), el formateig no afecta la correcció de la codificació.

És adequat per formatejar fitxers grans?

Sí. L'eina formata en temps real i el navegador pot gestionar cadenes Base64 de fins a 1 MB sense problemes. Per sobre de 10 MB pot provocar bloquejos de la interfície; es recomana formatar per blocs.

Després de formatar el volum augmenta, es pot comprimir?

El formateig només afegeix salts de línia i sagnats, que són amigables amb els algorismes de compressió. Es pot comprimir amb gzip / Brotli, o utilitzar l'eina Base64 Stats per veure l'increment específic.

Solució de problemes

Després de formatar, alguns caràcters Base64 es perden

És possible que el Base64 d'origen contingui caràcters no vàlids (com ara salts de línia no processats correctament). Primer neteja el Base64 amb l'eina Base64 Clean i després torna'l a formatar.

El resultat formatejat no coincideix amb els bytes originals

Això és impossible: el formateig només insereix caràcters en blanc, no modifica el contingut dels bytes. Si detectes una inconsistència, vol dir que el Base64 d'origen ja ha estat processat incorrectament (com ara un formateig repetit que ha inserit espais en blanc duplicats).

Després de formatar una cadena llarga, la interfície es bloqueja

Les cadenes Base64 de més de 10 MB poden provocar bloquejos del navegador. Recomanacions: ① processar per blocs; ② utilitzar primer base64-clean per eliminar espais en blanc sobrants; ③ reduir l'amplada (per exemple a 64 caràcters) per disminuir la càrrega de renderitzat per línia.

Glossari

Formateig Base64
Divisió, a nivell visual, d'una cadena Base64 en diverses línies segons una amplada especificada; només afecta la presentació visual, sense alterar la codificació en si.
MIME Base64
Variant de Base64 establerta per RFC 2045 amb salts cada 76 caràcters, utilitzada principalment per a la transmissió de fitxers adjunts en correus electrònics.
Amplada de caràcters (line length)
Nombre de caràcters Base64 que es mostren per línia. Valors habituals: 64 (compacte), 76 (estàndard MIME), 80 (impressió estàndard), 100 (pantalla ampla).
Sagnat (indent)
Nombre d'espais al començament de cada línia. Valors habituals: 0 (sense sagnat), 2 (estil de codi), 4 (bloc de codi Markdown).
Caràcters en blanc (whitespace)
Espais, tabuladors, salts de línia i altres caràcters que poden aparèixer en una cadena Base64. El formateig primer elimina aquests caràcters i després en torna a inserir segons l'amplada especificada.
Desformateig (unformat)
Procés de revertir un Base64 formatejat (diverses línies + sagnat) a una sola línia sense espais en blanc, per a la descodificació o transmissió.

Taula comparativa de les 4 amplades de caràcters

Les diferents amplades de caràcters s'adapten a diferents escenaris de visualització; tria segons l'entorn de destinació.

AmpladaEscenari típicEstàndard corresponentExemple
64 caràctersTerminal CLI, taules MarkdownVisualització compactaPantalla petita / alta densitat
76 caràctersTransmissió de fitxers adjuntsRFC 2045 MIMECorreu / SMTP
80 caràctersImpressió en terminal tradicionalTerminal Unix tradicionalImpressió de documents
100 caràctersEditors moderns / pantalla amplaEspecificació UI modernaIDE / documents

Taula comparativa dels 3 estils de sagnat

Els diferents estils de sagnat s'ajusten a diferents convencions de codi; tria segons els hàbits de l'equip o projecte.

SagnatEstil de codiExemple (primera línia Base64)
0 espaisSense sagnat (text pur)QUJD...
2 espaisConvenció JS / Python QUJD...
4 espaisImbricació Markdown / convenció Java QUJD...

Authoritative References