Skip to content

Base64 koduotojas / dekoduotojas

Užkoduokite ir dekoduokite tekstą ar failus į Base64 ir atgal — su URL saugia išvestimi, failų įkėlimu ir dydžio statistika.

Base64 koduotuvas / dekoderis

Tuščia
Įklijuokite tekstą arba numeskite failą, kad užkoduotumėte. Perjunkite į Dekoduoti, kad įklijuotumėte Base64 ir atkurtumėte originalą.
Įvestis Įklijuokite · tempkite · įkelkite
0 simb.
Išvestis Užkoduota
0 simb.


                

        
      

Pavyzdžiai

Kaip tai veikia

Base64 — tai baitų konvertavimas į tekstą: bet kokia baitų seka paverčiama 64 spausdinamų ASCII simbolių (A–Z, a–z, 0–9, +, /) eilute plius = užpildymui. Kiekvieni 3 įvesties baitai virsta 4 išvesties simboliais, todėl užkoduota išvestis visada yra maždaug 4/3 karto didesnė (apie 33 % daugiau). Tai reikalinga, nes daug kanalų — el. laiškų turinys, HTTP antraštės, JSON eilutės, URL'ai, XML atributai — saugiai perduoda tik tekstą, o ne bet kokius baitus.

Dekodavimas — atvirkštinis veiksmas. Keturi Base64 simboliai sudaro tris baitus iš savo 6 bitų reikšmių. Jei įvesties ilgis nėra 4 kartotinis, užpildymas = rodo, kiek baitų yra paskutinėje grupėje (0, 1 ar 2). Šiuolaikiniai dekoderiai priima įvestį su užpildymu ar be jo, bet griežti — atmeta.

URL saugi abėcėlė (RFC 4648 §5) pakeičia + ir / į - ir _, kad eilutė galėtų gyvuoti URL kelyje ar užklausoje be procentinio kodavimo. JWT'ai, OAuth žetonai ir data: URL'ai paveikslėliams CSS/HTML remiasi Base64. MIME naudoja klasikinę abėcėlę, bet laužo eilutes kas 76 simbolius, kad tilptų į el. laiškų ilgio ribas.

Šis įrankis užkoduoja visą Unicode ruožą — pirma tekstą paverčia UTF-8 baitais, paskui taiko Base64. Kai įkeli ar numeti failą, jis skaito baitus tiesiogiai — paveikslėliai, PDF'ai, zip failai išsaugomi be sugadinimų. Dekoduojant aptinkami dažni dvejetainiai parašai (PNG, JPG, PDF, GIF) ir parodoma peržiūra, kai rezultatas matomas.

Patarimai ir geroji praktika

Base64 nėra šifravimas. Jį lengvai atsukti — kiekvienas gali dekoduoti. Naudokite jį perdavimui, niekada — slaptumui.
Užkoduota išvestis apie 33 % didesnė už įvestį (4 simboliai 3 baitams). Atsižvelkite į tai pakuodami Base64 į slapukus, JWT porcijas ar užklausų turinius su dydžio ribomis.
Naudokite URL saugią abėcėlę visam kam, kas atsidurs URL'e, failo pavadinime ar JSON Web Token. Ji keičia + / / į - / _.
Pašalinkite = užpildymą tik tada, kai kita pusė jo nereikalauja (JWT — reikalauja, dauguma MIME įrankių — ne).
Dvejetainiams duomenims visada koduokite iš žaliavinių baitų, ne iš teksto atvaizdavimo. Šis įrankis tai daro automatiškai, kai numetate failą.
Jei dekodavimas nepavyksta su „neteisingu simboliu", patikrinkite, ar nėra tarpų, URL kodavimo (%3D vietoj =) arba neatitinkančios abėcėlės (URL saugi vs. standartinė).

Dažniausiai užduodami klausimai

Kam naudojamas Base64?

Dvejetainiams duomenims įterpti į tik teksto kanalus: el. laiškų priedus (MIME), įterptuosius paveikslėlius HTML/CSS per data: URL'us, JSON Web Token, OAuth būsenos parametrus, API raktus, SSH viešuosius raktus, TLS sertifikatus (PEM), serializuotą protobuf'ą interneto formose. Tai mažiausias bendras vardiklis baitams perduoti kanalu, kuris laukia teksto.

Ne. Base64 — tai viešas, atsukamas kodavimas; kiekvienas, turintis išvestį, gali atkurti įvestį. Jis nesuteikia jokio slaptumo. Jei reikia apsaugoti duomenis, pirma juos užšifruokite, o tada užkoduokite šifrotekstą Base64 perdavimui.

Base64 apdoroja įvestį 3 baitų grupėmis ir išleidžia 4 simbolių grupes. Kai paskutinė grupė turi tik 1 ar 2 baitus, išvestis užpildoma 1 ar 2 = simboliais, kad bendras ilgis liktų 4 kartotinis. Vieni dekoderiai šio užpildymo reikalauja, daugelis (pvz., JWT) — praleidžia.

Standartinis Base64 (RFC 4648 §4) naudoja A-Z a-z 0-9 + /. URL saugus Base64 (§5) pakeičia paskutinius du į - ir _, nes + ir / URL'uose ir failų pavadinimuose turi rezervuotų reikšmių. Abėcėlės yra nesuderinamos — dekoduoti reikia ta pačia, kuria buvo koduota.

Dažniausiai — koduočių neatitikimas. Šis įrankis, dekoduodamas į tekstą, laiko UTF-8; jei baitai buvo užkoduoti iš Latin-1 (Windows-1252), Shift_JIS ar kitos koduotės, jie yra galiojantys, bet interpretuoti juos kaip UTF-8 duoda mojibake. Perjunkite Dekoduoti kaip į „Latin-1" arba „Šešioliktainiai baitai", kad pamatytumėte neapdorotus baitus.

Viskas vyksta Jūsų naršyklėje — jokio įkėlimo nevyksta. Praktinės ribos priklauso nuo įrenginio atminties ir kiek teksto gali pavaizduoti <textarea>. Šimtai KB — ne problema; keli MB veikia, bet išvesties laukas gali sulėtėti. Labai dideliems failams naudokite komandinės eilutės įrankį (base64 macOS/Linux sistemose, certutil — Windows).

Ne. Visas kodavimas, dekodavimas, failų skaitymas, SHA-256 maiša ir MIME aptikimas vyksta lokaliai naršyklėje, naudojant gimtąsias btoa / atob ir SubtleCrypto sąsajas. Dalinamos nuorodos funkcija įkelia turinį į URL hash'ą, kuris taip pat niekada nesiunčiamas į serverį.