Codificator și decodificator Base64

Convertește text și fișiere în Base64 și înapoi. Gestionează corect Unicode, acceptă base64url sigur pentru URL și îți spune exact de ce o intrare invalidă eșuează.

Rulează în browserFără înregistrareNimic nu este încărcat

Rezultat Base64

Cum se folosește: Codificare / decodificare Base64

  1. Alege Codifică sau Decodifică.
  2. Scrie sau lipește intrarea. Rezultatul se actualizează pe măsură ce scrii.
  3. Pentru URL-uri, JWT-uri și nume de fișiere, bifează Sigur pentru URL ca să folosești - și _ și, opțional, renunță la padding-ul =.
  4. Pentru a încorpora o imagine sau un font, apasă Codifică fișier și lasă bifat Rezultat ca data URI.
  5. Copiază rezultatul sau folosește Inversează pentru a-l trimite înapoi în direcția opusă.

Cum funcționează Base64

Base64 reprezintă date binare folosind 64 de caractere ASCII tipăribile: A-Z, a-z, 0-9, + și /. Fiecare 3 octeți de intrare devin 4 caractere, deci datele codificate sunt cu aproximativ 33% mai mari. Când lungimea intrării nu este multiplu de 3, unul sau două semne = completează rezultatul. Base64 este o codificare, nu o criptare: oricine îl poate decodifica.

Base64 standard vs. base64url

Caracterele + și / au semnificație specială în URL-uri și căi de fișiere. Alfabetul sigur pentru URL din RFC 4648 §5 le înlocuiește cu - și _ și de obicei omite padding-ul. JWT-urile, mulți parametri OAuth și unele API-uri cloud folosesc base64url. Decodorul de aici acceptă automat ambele alfabete.

Unicode și capcana btoa()

În browsere, btoa("café") funcționează, dar btoa("日本") aruncă o excepție, deoarece btoa acceptă doar Latin-1. Abordarea corectă este să codifici mai întâi textul în octeți UTF-8, ceea ce face acest instrument. În JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))), sau Buffer.from(text).toString('base64') în Node.js.

Utilizări uzuale

  • Data URI pentru imagini și fonturi mici în CSS sau HTML
  • Headere HTTP Basic authentication (user:password codificat)
  • Atașamente binare în payload-uri JSON și e-mailuri (MIME)
  • Kubernetes Secrets, care stochează valorile în Base64

Întrebări frecvente

Este Base64 o criptare?
Nu. Base64 este o codificare reversibilă, fără cheie. Oricine îl poate decodifica, așa că nu-l folosi niciodată pentru a ascunde parole sau secrete.
De ce Base64-ul meu nu se decodifică?
Cauzele frecvente sunt caractere din afara alfabetului (adesea o ghilimea sau un sfârșit de linie rătăcit la copiere), un șir trunchiat sau amestecarea cu text care nu este Base64. Mesajul de eroare arată poziția primei probleme.
Rezultatul decodificat arată ca niște caractere fără sens. De ce?
Datele sunt probabil binare, de exemplu o imagine, un fișier comprimat sau octeți criptați, nu text. Instrumentul detectează asta, afișează un dump hex și te lasă să descarci octeții bruți.
Am nevoie de padding-ul =?
Multe decodoare, inclusiv acesta, funcționează fără el, deoarece lungimea le spune câți octeți lipsesc. Unele decodoare stricte îl cer. JWT-urile și majoritatea utilizărilor base64url omit padding-ul.
Sunt fișierele mele încărcate?
Nu. Fișierele sunt citite și codificate local cu File API din browser. Nimic nu este trimis la un server.

Instrumente similare