Decodificare Base64

Lipiți un șir Base64 mai jos și faceți clic pe Decodifică pentru a-l converti în text simplu. Toată procesarea are loc local în browserul dvs.

Alfabetul sigur pentru URL, întreruperile de rând și umplutura lipsă sunt acceptate.
Copiat!

Ce este decodificarea Base64?

Decodificarea Base64 convertește un șir ASCII codificat Base64 înapoi în datele binare sau textul original. Aceasta este operația inversă a codificării Base64.

Dacă intrarea conține caractere din afara alfabetului Base64 (A-Z, a-z, 0-9, +, /, =), decodificarea va eșua cu o eroare.

Decodificarea folosește funcția Base64 a browserului, care este strictă: se așteaptă la alfabetul standard și la umplutură corectă, iar restul îl refuză în loc să ghicească. Octeții decodificați sunt apoi citiți ca text UTF-8.

Depanați ceva ce refuză să se decodifice?

Un payload care refuză să se decodifice este de obicei un simptom, nu defectul: o dublă codificare undeva pe traseu, un set de caractere presupus în loc să fie declarat, un token semnat peste octeți care nu sunt chiar cei așteptați. Exact asta lucrăm noi, pe integrări, API-uri și sistemele care își pasează date între ele.

Spuneți-ne ce se strică

Întrebări frecvente

De ce nu se decodifică șirul meu Base64?
Aproape întotdeauna unul din patru lucruri: un caracter din afara alfabetului, ceea ce înseamnă de obicei că un URL a fost stricat sau că la copiere s-a agățat un semn de punctuație străin; o lungime care lasă un singur caracter în plus, incapabil să reprezinte un număr întreg de octeți; alfabetul sigur pentru URL, ale cărui cratime și liniuțe de subliniere un decodificator standard nu le acceptă; sau umplutura scoasă undeva pe drum. Această pagină folosește chiar decodificatorul browserului, strict la toate patru, care refuză în loc să ghicească.
De ce rezultatul decodificat nu este text lizibil?
Pentru că acei octeți nu au fost niciodată text. Base64 transportă date oarecare, așa că ce ține în el poate fi o imagine, un PDF, o arhivă comprimată sau o structură serializată. Această pagină citește octeții decodificați ca text UTF-8, deci tot ce nu este text iese gol sau stricat, iar asta este deja răspunsul. Dacă așteptați text, bănuiți o dublă codificare: ceva a codificat în Base64 date care erau deja Base64.
Pot decodifica Base64 fără umplutură?
Nu aici. Umplutura există ca decodificatorul să știe unde se termină fluxul atunci când lungimea nu este multiplu de patru, iar cel din browser o cere. Multe sisteme o scot fiindcă semnul egal este incomod în URL-uri și în numele de fișiere: dacă șirul dumneavoastră vine de acolo, adăugați semne egal până când lungimea se împarte la patru și se va decodifica. O lungime care lasă un singur caracter în plus nu se repară așa, pentru că un caracter Base64 poartă șase biți și din ei nu iese un octet întreg.
Este sigur să lipesc date sensibile în această pagină?
Decodificarea rulează în browserul dumneavoastră și nu se trimite nimic nicăieri, deci pagina în sine nu este riscul. Restul mașinii este: extensiile de browser pot citi conținutul paginilor, iar secretele lipite tind să supraviețuiască în istoricul clipboardului. Pentru o credențială de producție activă, decodificați-o local. Instrumentul din linia de comandă se află deja pe orice mașină Unix, iar în PowerShell există un echivalent.
Cum decodific un data URI?
Scoateți întâi prefixul. Un data URI este cuvântul data, apoi un tip MIME, apoi un semn care spune că încărcătura este în Base64, apoi încărcătura însăși, și numai ultima parte se poate decodifica. Ștergeți tot până la virgulă inclusiv și lipiți restul. Tăierea unui caracter în plus sau în minus este cauza obișnuită a unei decodificări care apoi eșuează.