CodeKitHub
Kodirna orodja

Kodirnik / dekodirnik Base64 spletno

Nazadnje posodobljeno:

Base64 spremeni vsake 3 bajte podatkov v 4 znake ASCII, zato je kodiran izhod približno 33 % večji od izvirnega vnosa. Pretvori besedilo v Base64 ali dekodiraj niz Base64 nazaj v berljivo besedilo. To orodje je varno za UTF-8, zato pravilno obravnava emojije, kitajske in druge ne-ASCII znake, ki pokvarijo preprosta orodja Base64. Vse poteka lokalno v tvojem brskalniku.

Kaj je to orodje?

Base64 je shema kodiranja, ki binarne ali besedilne podatke pretvori v nabor 64 varnih znakov ASCII (A–Z, a–z, 0–9, + in /). Uporablja se povsod v programski opremi: za vgrajevanje slik v HTML/CSS, glave za HTTP osnovno avtentikacijo, e-poštne priloge (MIME), spletne žetone JSON (JWT) in podatke API-jev, ki morajo preživeti kanale, namenjene le besedilu.

Pomembno: Base64 je kodiranje, ne šifriranje. Vsakdo ga lahko dekodira. Njegov namen je narediti podatke varne za prenos skozi sisteme, ki razumejo le besedilo — ne, da bi jih zaščitil pred vpogledom.

Base64 je formalno opredeljen v RFC 4648, ki določa tudi različico, varno za URL, uporabljeno v JWT-jih in spletnih API-jih: nadomesti + z - in / z _, tako da lahko kodiran niz potuje znotraj URL-ja brez odstotkovnega kodiranja.

Zakaj ga uporabiti?

  • Dekodiraj žetone API, segmente JWT in glave za avtentikacijo, da vidiš, kaj je v njih.
  • Kodiraj besedilo za podatkovne URI-je, konfiguracijske datoteke ali glave HTTP.
  • Varno za UTF-8: emojiji in ne-latinski znaki se pravilno kodirajo in dekodirajo.
  • 100 % zasebno — pretvorba poteka v tvojem brskalniku, nič se ne nalaga.
  • Brezplačno, brez prijave, brez omejitev velikosti.

Kako ga uporabljati

  1. Vtipkaj ali prilepi svojo vsebino v vnosno polje.
  2. Klikni "Kodiraj" za pretvorbo besedila v Base64, ali "Dekodiraj" za pretvorbo Base64 nazaj v besedilo.
  3. Če dekodiranje ne uspe, vnos ni veljaven Base64 — preveri, ali manjkajo znaki ali je odveč presledkov.
  4. Klikni "Kopiraj", da kopiraš rezultat.

Primer

Vnos

Hello, CodeKitHub! 你好 👋

Rezultat

SGVsbG8sIENvZGVLaXRIdWIhIOS9oOWlvSDwn5GL

Opazi, kako kitajski znaki in emoji preživijo krožno pot — to je tisti del, varen za UTF-8.

Praktični nasveti

  • Žetoni JWT so trije segmenti Base64, povezani s pikami — dekodiraj prva dva (glavo in vsebino) posebej, da ju prebereš; tretji je binaren podpis in bo videti kot šum.
  • Če dekodiranje spodleti pri segmentu JWT, gre za kodiranje base64url: najprej zamenjaj - z + in _ z / (standardna orodja pričakujejo abecedo +/).
  • Presledki in prelomi vrstic znotraj niza Base64 so navadno neškodljivi ostanki iz e-pošte ali dnevnikov, manjkajoča zaključna zapolnitev = pa pogosto ni — preveri dolžino, preden sklepaš, da so podatki poškodovani.
  • Base64 poveča podatke za približno 33 %. V redu za majhne vsebine; za slike nad nekaj KB je prava datoteka skoraj vedno boljša izbira kot podatkovni URI.

Resnični primeri uporabe

Trije primeri, zaradi katerih ljudje sem prihajajo dnevno: branje vsebine glave Authorization ali JWT, dekodiranje polja podatkov spletnega priklica/API-ja, ki je prispelo ovito v Base64 (pogosto JSON — po dekodiranju ga formatiraj), in ročno ustvarjanje podatkovnega URI-ja ali niza za osnovno avtentikacijo med razhroščevanjem.

Za binarne podatke (slike, datoteke) ne pozabi, da dobiš pri dekodiranju kot besedilo nerazumljive znake (mojibake) — podatki so lahko povsem veljavni, le da niso besedilo. Kodiranje/dekodiranje binarnih podatkov spada v kodo; to orodje je optimizirano za primere z besedilom.

Kako diagnosticirati napako pri dekodiranju

Napake pri dekodiranju Base64 skoraj vedno izvirajo iz enega od treh vzrokov, urejenih po pogostosti: vnos je bil dejansko base64url (uporablja - in _ namesto standardnih + in /, pogosto v JWT-jih in kontekstih, varnih za URL) in je treba te znake pred standardnim dekodiranjem zamenjati nazaj; niz se je nekje po poti odrezal (kopiranje in lepljenje, ki je zgrešilo zadnjih nekaj znakov, ali vrstica dnevnika, ki je bila prekinjena), kar zaznaš po tem, da je dolžina veljavnega niza Base64 vedno deljiva s 4, ko upoštevaš zapolnitev; ali pa so bili med kopiranjem vneseni tuji znaki (odvečen presledek, zablodel prelom vrstice, po nesreči podvojen znak), zato je lepljenje neposredno iz surovega vira vedno varnejše kot ponovno tipkanje.

JSON formater · URL kodirnik / dekodirnik · Dekodirnik JWT

Pogosta vprašanja

Je Base64 šifriranje?

Ne. Base64 je povratno kodiranje, ki ga lahko vsakdo dekodira — ne zagotavlja nobene varnosti. Če moraš zaščititi podatke, uporabi pravo šifriranje (kot AES); Base64 je namenjen le temu, da so podatki varni za prenos kot besedilo.

Zakaj je moj dekodiran rezultat videti kot nesmisel?

Bodisi vnos v resnici ni Base64, je bil odrezan, bodisi so bili izvirni podatki binarni (kot slika) namesto besedila. Binarni podatki se ne prikažejo kot berljivi znaki.

Kaj so znaki = na koncu?

Zapolnitev (padding). Base64 deluje v blokih 3 vhodnih bajtov → 4 izhodni znaki. Kadar dolžina vnosa ni deljiva s 3, en ali dva znaka = zapolnita zadnji blok.

Ali to orodje deluje z emojiji in kitajskimi znaki?

Da. Besedilo najprej kodira kot bajte UTF-8, kar je standarden pristop. Preprosta orodja, ki uporabljajo neposredno btoa(), odpovejo pri vsakem znaku zunaj Latin-1 — to orodje ne.

Ali se moji podatki kje nalagajo?

Ne. Kodiranje in dekodiranje potekata v celoti v tvojem brskalniku z JavaScriptom. Tvoji podatki nikoli ne zapustijo tvoje naprave.

Sorodna orodja