Base64 kódoló és dekódoló

Alakíts szöveget és fájlokat Base64-re és vissza. Helyesen kezeli a Unicode-ot, támogatja az URL-biztos base64url-t, és pontosan megmondja, miért hibás egy érvénytelen bemenet.

A böngésződben futNincs regisztrációNincs feltöltés

Base64 kimenet

Hogyan használd: Base64 kódolás / dekódolás

  1. Válaszd a Kódolás vagy a Dekódolás módot.
  2. Írd be vagy illeszd be a bemenetet. Az eredmény gépelés közben frissül.
  3. URL-ekhez, JWT-khez és fájlnevekhez jelöld be az URL-biztos opciót a - és _ karakterekhez, és ha kell, hagyd el a = kitöltést.
  4. Kép vagy betűtípus beágyazásához kattints a Fájl kódolása gombra, és hagyd bejelölve a Kimenet data URI-ként opciót.
  5. Másold ki az eredményt, vagy a Csere gombbal tápláld vissza az ellenkező irányba.

Hogyan működik a Base64?

A Base64 64 nyomtatható ASCII karakterrel írja le a bináris adatot: A-Z, a-z, 0-9, + és /. A bemenet minden 3 bájtjából 4 karakter lesz, így a kódolt adat kb. 33%-kal nagyobb. Ha a bemenet hossza nem osztható 3-mal, egy vagy két = jel tölti ki a kimenetet. A Base64 kódolás, nem titkosítás: bárki dekódolhatja.

Szabványos Base64 vagy base64url

A + és / karaktereknek különleges jelentésük van az URL-ekben és fájlútvonalakban. Az RFC 4648 §5 szerinti URL-biztos ábécé ezeket - és _ karakterre cseréli, és általában elhagyja a kitöltést. A JWT-k, sok OAuth paraméter és néhány felhős API base64url-t használ. Az itteni dekódoló automatikusan elfogadja mindkét ábécét.

Unicode és a btoa() csapda

Böngészőben a btoa("café") működik, de a btoa("日本") hibát dob, mert a btoa csak Latin-1 karaktereket fogad el. A helyes megoldás, hogy a szöveget előbb UTF-8 bájtokká kódoljuk, és ez az eszköz pontosan ezt teszi. JavaScriptben: btoa(String.fromCharCode(...new TextEncoder().encode(text))), Node.js-ben pedig Buffer.from(text).toString('base64').

Gyakori felhasználások

  • Data URI-k kis képekhez és betűtípusokhoz CSS-ben vagy HTML-ben
  • HTTP Basic hitelesítési headerek (kódolt user:password)
  • Bináris mellékletek JSON payloadokban és e-mailben (MIME)
  • Kubernetes Secretek, amelyek Base64-ként tárolják az értékeket

Gyakran ismételt kérdések

A Base64 titkosítás?
Nem. A Base64 kulcs nélküli, visszafordítható kódolás. Bárki dekódolhatja, ezért soha ne használd jelszavak vagy titkok elrejtésére.
Miért nem dekódolható a Base64 szövegem?
Gyakori okok: az ábécén kívüli karakterek (gyakran másoláskor bekerült idézőjel vagy sortörés), csonka string, vagy nem Base64 szöveg belekeveredése. A hibaüzenet megmutatja az első probléma pozícióját.
A dekódolt kimenet értelmetlen karakterhalmaz. Miért?
Az adat valószínűleg bináris, például kép, tömörített fájl vagy titkosított bájtok, nem pedig szöveg. Az eszköz ezt felismeri, hex dumpot mutat, és letöltheted a nyers bájtokat.
Szükség van a = kitöltésre?
Sok dekódoló, köztük ez is, működik nélküle, mert a hosszból tudja, hány bájt hiányzik. Néhány szigorú dekódoló megköveteli. A JWT-k és a legtöbb base64url-felhasználás elhagyja a kitöltést.
Feltöltődnek a fájljaim?
Nem. A fájlokat helyben, a böngésző File API-jával olvassuk be és kódoljuk. Semmi sem kerül szerverre.

Kapcsolódó eszközök