Base64 Encoder at Decoder

I-convert ang text at mga file sa Base64 at pabalik. Tama ang paghawak sa Unicode, suportado ang URL-safe na base64url, at sinasabi nito nang eksakto kung bakit pumapalya ang maling input.

Tumatakbo sa browser moWalang sign-upWalang ina-upload

Base64 output

Paano gamitin ang Base64 Encode / Decode

  1. Piliin ang I-encode o I-decode.
  2. I-type o i-paste ang input mo. Nag-a-update ang resulta habang nagta-type ka.
  3. Para sa mga URL, JWT at filename, i-tick ang URL-safe para gamitin ang - at _, at puwede mo ring alisin ang = padding.
  4. Para mag-embed ng image o font, i-click ang I-encode ang file at panatilihing naka-check ang I-output bilang data URI.
  5. Kopyahin ang resulta, o gamitin ang Pagpalitin para ibalik ito sa kabilang direksyon.

Paano gumagana ang Base64

Kinakatawan ng Base64 ang binary data gamit ang 64 na printable ASCII character: A-Z, a-z, 0-9, + at /. Bawat 3 byte ng input ay nagiging 4 na character, kaya humigit-kumulang 33% na mas malaki ang encoded na data. Kapag hindi multiple ng 3 ang haba ng input, isa o dalawang = ang ipinapad sa output. Ang Base64 ay encoding, hindi encryption: kahit sino ay kayang mag-decode nito.

Standard na Base64 vs. base64url

May espesyal na kahulugan ang + at / sa mga URL at file path. Pinapalitan ng URL-safe na alphabet mula sa RFC 4648 §5 ang mga ito ng - at _ at kadalasang inaalis ang padding. Gumagamit ng base64url ang mga JWT, maraming OAuth parameter at ilang cloud API. Awtomatikong tinatanggap ng decoder dito ang parehong alphabet.

Unicode at ang patibong ng btoa()

Sa mga browser, gumagana ang btoa("café") pero nag-e-error ang btoa("日本"), dahil Latin-1 lang ang tinatanggap ng btoa. Ang tamang paraan ay i-encode muna ang text sa UTF-8 bytes, na siyang ginagawa ng tool na ito. Sa JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))), o Buffer.from(text).toString('base64') sa Node.js.

Karaniwang gamit

  • Mga data URI para sa maliliit na image at font sa CSS o HTML
  • Mga HTTP Basic authentication header (naka-encode na user:password)
  • Mga binary attachment sa JSON payload at email (MIME)
  • Mga Kubernetes Secret, na nag-iimbak ng value bilang Base64

Mga madalas itanong

Encryption ba ang Base64?
Hindi. Ang Base64 ay reversible na encoding na walang key. Kahit sino ay kayang mag-decode nito, kaya huwag itong gamitin kailanman para itago ang mga password o secret.
Bakit ayaw ma-decode ng Base64 ko?
Karaniwang dahilan ang mga character na wala sa alphabet (madalas ay naligaw na quote o line break mula sa pagkopya), naputol na string, o nahaluan ng text na hindi Base64. Ipinapakita ng error message ang posisyon ng unang problema.
Mukhang basura ang na-decode na output. Bakit?
Malamang binary ang data, halimbawa image, compressed file o encrypted bytes, at hindi text. Na-de-detect ito ng tool, nagpapakita ng hex dump, at hinahayaan kang i-download ang raw bytes.
Kailangan ko ba ang = padding?
Maraming decoder, kasama ang isang ito, ang gumagana kahit wala nito dahil nalalaman nila sa haba kung ilang byte ang kulang. May ilang mahigpit na decoder na nangangailangan nito. Inaalis ng mga JWT at karamihan ng gamit ng base64url ang padding.
Ina-upload ba ang mga file ko?
Hindi. Binabasa at ine-encode nang lokal ang mga file gamit ang File API ng browser. Walang ipinapadala sa server.

Mga kaugnay na tool