Gestió del padding Base64

Entrada
caràcter . Omple: 0 =

Al navegador, calcula automàticament segons l'estàndard RFC 4648 el nombre de = de padding al final de la cadena Base64, permet omplir o eliminar el padding en ambdues direccions i corregeix cadenes no conformes. Tot el processament es realitza localment.

Relacionats

Què és el padding Base64?

El padding Base64 és el caràcter '=' especificat per l'estàndard RFC 4648, utilitzat per fer que la longitud de la sortida Base64 sigui múltiple de 4. Base64 assigna 3 bytes (24 bits) a 4 caràcters, però quan l'últim grup té menys de 3 bytes cal omplir amb =, en cas contrari el descodificador no podria determinar el nombre real de bytes finals.

Regles d'emplenament: ① nombre de bytes originals mod 3 = 0 → 0 = al final; ② mod 3 = 1 → afegir 2 = al final; ③ mod 3 = 2 → afegir 1 = al final. La longitud de qualsevol cadena Base64 mod 4 ha de coincidir amb el nombre de = que falten.

Per què cal el padding: la descodificació Base64 necessita una frontera clara. El padding indica al descodificador quants bytes reals corresponen als = finals, evitant ambigüitats. Sense padding, una entrada d'1 byte i una de 2 bytes podrien codificar-se en cadenes Base64 de la mateixa longitud, fent impossible distingir el nombre real de bytes.

Aplicacions pràctiques: la majoria de protocols (Data URL, MIME, JWT, fitxers de configuració) compleixen estrictament el padding; alguns escenaris (rutes URL, noms de fitxer, short links) l'ometen per estalviar espai. Aquesta eina admet la conversió en ambdues direccions.

Casos d'ús

  • Reparar errors de descodificació Base64 (com InvalidCharacterError o longituds no múltiples de 4), afegint primer els = i després descodificant.
  • En processar sortides Base64 d'API, JWT o registres, eliminar salts de línia sobrants i afegir el padding que manca.
  • Generar Data URL assegurant que la part Base64 compleix estrictament RFC 4648, evitant errors de descodificació al navegador o en eines de tercers.
  • Validar i omplir ràpidament el padding per a tokens JWT, fitxers de configuració i credencials d'API.
  • Eliminar el padding per a URL, noms de fitxer i altres escenaris que requereixen estalviar caràcters (sempre que el protocol ho admeti).
  • Aprendre el funcionament de la codificació Base64 comparant els bytes d'entrada amb la quantitat de padding corresponent.

Com usar-ho

  1. Enganxa o escriu la cadena Base64 que vols processar (pot incloure o no padding i salts de línia).
  2. Tria el mode: emplenar (afegir = al final) o eliminar padding (suprimir els = finals).
  3. L'eina calcula i mostra el resultat automàticament, amb recompte de caràcters i canvis de padding en temps real.
  4. Copia el resultat al porta-retalls o descarrega'l com a fitxer .txt per continuar treballant.

Característiques

  • Càlcul automàtic del nombre de padding: mostra en temps real la diferència entre el nombre de = esperat i el que ja té l'entrada.
  • Mode d'emplenament: converteix qualsevol cadena Base64 a una longitud múltiple de 4, corregint errors de longitud amb un sol clic.
  • Mode d'eliminació de padding: suprimeix els = del final, ideal per a URL, noms de fitxer i altres escenaris on cal estalviar caràcters.
  • Ignora automàticament salts de línia i espais: enganxar Base64 amb salts de línia (de correus, sortides JWT) també es processa correctament.
  • Comptatge de caràcters en temps real: mostra el nombre de caràcters d'entrada i sortida, així com els canvis en el padding.
  • Copiar / descarregar amb un clic: el resultat es pot copiar al porta-retalls o descarregar com a fitxer .txt.
  • Processament local al navegador: tots els càlculs es fan al navegador i el contingut original no es puja a cap servidor.

Best Practices

Confirma que l'entrada és Base64 real abans d'emplenar

Aquesta eina només afegeix = al final, no neteja caràcters invàlids. Si l'entrada conté espais, caràcters amb diacrítics com la ç o accents, o caràcters no llatins diferents dels salts de línia, la descodificació continuarà fallant. Et recomanem utilitzar primer l'eina de neteja Base64 per eliminar els caràcters no alfanumèrics.

Omple sempre el padding per a Data URL i JWT

Les Data URL (RFC 2397) i els JWT (RFC 7519) requereixen estrictament el padding. Ometre els = provocarà errors de descodificació o resultats inconsistents en la majoria d'implementacions. Utilitza aquesta eina per omplir fins a múltiples de 4 abans d'enviar.

Per a URL/noms de fitxer, omet el padding però acompanya'l amb el conjunt URL-safe

Si vols posar Base64 en una ruta URL, nom de fitxer o short link, només eliminar el padding no és suficient: cal substituir + i / per - i _ (Base64URL). Ometre només els = continua sent Base64 estàndard, i + i / continuen sent il·legals a les URL.

Si després d'eliminar el padding la descodificació dóna «longitud incorrecta»

Significa que l'eina de destinació requereix estrictament el padding. Canvia al mode d'emplenament i torna-ho a provar. Si encara falla, és possible que durant l'eliminació s'hagin suprimit = que no estaven al final (l'entrada ja era il·legal d'origen).

Divideix els fitxers grans abans de processar-los

Aquesta eina és adequada per a cadenes Base64 individuals. Per a fitxers codificats en Base64 de desenes de MB, recomanem utilitzar eines de línia d'ordres (com openssl base64 o l'ordre base64) o processar-los directament al codi per evitar que el navegador es quedi bloquejat.

Recorda afegir el càlcul del padding en materials docents

El padding Base64 és el punt que més confon els nousvinguts. Quan l'expliquis, adjunta sempre una taula que relacioni els bytes d'entrada mod 3 amb el nombre de = corresponents (consulta referenceTables en aquesta pàgina); altrament és difícil entendre per què de vegades cal afegir 1 = i altres vegades 2.

Preguntes freqients

Per a què serveix el padding Base64?

Per fer que la longitud de sortida Base64 sigui sempre múltiple de 4, donant al descodificador una frontera final clara. Sense padding, una entrada d'1 byte i una de 2 bytes es podrien codificar en cadenes de la mateixa longitud, i el descodificador no podria distingir el nombre de bytes originals.

Per què la longitud Base64 ha de ser múltiple de 4?

Perquè Base64 assigna 3 bytes a 4 caràcters, amb una proporció fixa de 3→4 per grup. Quan l'entrada no és múltiple de 3, cal afegir = al final per completar els 4 caràcters. Qualsevol Base64 que no sigui múltiple de 4 és il·legal.

Com es calcula el nombre de padding?

La fórmula és (4 - bytes d'entrada % 3) % 3, o bé mira directament la longitud Base64 mod 4: resta 0 correspon a 0 =, resta 2 a 1 =, resta 3 a 2 =. Aquesta eina ho calcula automàticament.

Es pot eliminar el padding?

Sí, però només quan el protocol ho permet. Per exemple, noms de fitxer, rutes URL i JSON Web Token, en algunes implementacions, accepten Base64 sense padding, però les Data URL, MIME i fitxers de configuració normalment ho exigeixen estrictament. Utilitza el mode d'eliminació de padding només quan hagis confirmat que el protocol ho admet.

Què faig si la descodificació Base64 mostra «la longitud no és múltiple de 4»?

Canvia al mode d'emplenament d'aquesta eina i afegeix = al final amb un sol clic. Si encara falla, l'entrada conté caràcters il·legals o està truncada; utilitza primer l'eina de neteja Base64 per revisar-la.

Omplir el padding modifica els bytes originals?

No. Omplir només afegeix = al final, sense modificar cap caràcter intermedi, de manera que els bytes originals es conserven intactes. Un cop descodificat, els bytes coincideixen amb les dades originals.

Admet Base64 amb salts de línia o espais?

Sí. Aquesta eina elimina automàticament els salts de línia, retorns de carro i espais abans de calcular el padding. Pots enganxar directament Base64 amb múltiples línies procedent de correus, sortides JWT o fitxers de configuració.

El padding Base64 i Base64URL són el mateix?

No. El padding Base64 tracta sobre els = al final; Base64URL tracta sobre el conjunt de caràcters (substitueix + per - i / per _). Aquesta eina només gestiona el padding; per a conversions URL-safe utilitza l'eina específica Base64URL.

El contingut es puja al servidor?

No. Tots els càlculs de padding es fan localment al navegador i la cadena Base64 original no surt del teu dispositiu. Pots utilitzar-la amb confiança per processar dades sensibles (credencials, tokens).

Solució de problemes

La descodificació mostra «la longitud no és múltiple de 4»

Utilitza el mode d'emplenament d'aquesta eina per afegir els = i tornar a descodificar. Si encara falla, és probable que l'entrada contingui caràcters il·legals; revisa primer amb l'eina de neteja Base64.

Sospites que l'entrada conté caràcters invàlids

El Base64 estàndard només conté A-Z a-z 0-9 + / =; qualsevol altre caràcter (caràcters amb diacrítics com la ç o accents, caràcters no llatins, espai o qualsevol signe diferent dels salts de línia) és il·legal. Aquesta eina ignora automàticament els salts de línia i els espais, però la resta de caràcters il·legals cal netejar-los primer amb l'eina de neteja Base64.

Després d'eliminar el padding la URL continua donant errors

És possible que la URL encara contingui caràcters com ? & = que cal codificar per a URL, o que inclogui símbols del conjunt Base64 com + i /. Eliminar el padding no equival a fer la cadena URL-safe; cal una conversió addicional a Base64URL o una codificació URL.

No hi ha resultat després d'enganxar

És possible que l'entrada sigui només espai en blanc (salt de línia, espai, tabulador). L'eina ignora aquests caràcters en el càlcul, però una entrada completament buida no generarà cap resultat. Introdueix com a mínim un caràcter Base64.

Glossari

Caràcter de padding =
Caràcter d'emplenament al final de Base64 especificat per l'estàndard RFC 4648, utilitzat per identificar els bytes reals que manquen. L'emplenament vàlid només pot aparèixer al final de la cadena.
Múltiple de 4
Segons l'estàndard RFC 4648, la longitud de sortida Base64 ha de ser múltiple de 4; en cas contrari es considera una codificació no vàlida. El mode Base64 estricte llançarà un error durant la descodificació.
Fórmula de càlcul del padding
Nombre de = necessaris = (4 - bytes d'entrada % 3) % 3; equivalent a mirar la longitud Base64 mod 4, on els resultats 0/2/1 corresponen a 0/1/2 = respectivament.
Base64 sense padding
Variant de Base64 que omet els = al final, freqüent en rutes URL i noms de fitxer, però que estrictament no compleix l'estàndard RFC 4648 i pot fallar en la descodificació en alguns protocols.
Conjunt de caràcters Base64
64 caràcters en total: A-Z, a-z, 0-9, +, /, més el signe = per al padding. Qualsevol altre caràcter és invàlid i s'ha de netejar prèviament amb una eina de neteja Base64.

Consulta ràpida de les regles de padding Base64

Relació entre el nombre de bytes d'entrada Base64 i el nombre de = de padding al final.

Bytes d'entradamod 3Caràcters Base64Nombre de = paddingExemple (entrada → sortida)
3n04n0ABC → QUJD
3n+114n+22AB → QUI=
3n+224n+31A → QQ==

Requisits de padding dels protocols habituals

Diferents protocols tenen requisits diferents respecte al padding =; ometre'ls incorrectament provocarà errors de descodificació.

Escenari d'úsNecessita padding?Ús típic
Data URL (RFC 2397)Recomanat (compatibilitat)HTML / CSS / imatges incrustades
JWT (RFC 7519)Necessari (estricte)Autenticació OAuth / API
MIME (RFC 2045)NecessariCodificació d'adjunts de correu
Rutes URL / noms de fitxerOpcional (sovint s'omet)Short links / claus de memòria cau
Fitxers de configuració (YAML / JSON)NecessariEmmagatzematge de credencials i signatures

Authoritative References