Base64 Encoder / Decoder

Developer

Mag-encode at mag-decode, standard at URL-safe. Sa browser lamang.

Base64
TWFidWhheSEg4oKxMSwyMzQuNTY=
Bytes papasok20
Karakter palabas28
Overhead+40%

Ang klasikong alpabeto. I-percent-encode muna ito bago ilagay sa URL.

Ang 18 karakter ay 20 bytes sa UTF-8 — ang anumang lampas sa payak na ASCII ay dalawa hanggang apat na bytes bawat isa.

Paano gamitin

Para saan ito

Gawing Base64 ang teksto, o ibalik sa teksto ang Base64. Isinusulat ng Base64 ang kahit anong data gamit lang ang mga letra, numero at ilang simbolo, para hindi ito masira sa email, web link at settings file.

Bago magsimula

Ihanda ang teksto, o ang Base64 string na ibinigay sa iyo, para i-paste. Sa browser mo ito kino-convert at hindi ipinapadala kahit saan.

  1. Piliin ang direksyon

    Pindutin ang Teksto → Base64 para gawing Base64 ang ordinaryong teksto, o Base64 → Teksto para ibalik sa nababasang teksto ang Base64 string.

  2. Piliin ang alpabeto, kapag nag-e-encode

    Sa Alpabeto, iwan sa Standard (+ at /) maliban kung ilalagay ang resulta sa web address o pangalan ng file; doon, piliin ang URL-safe (- at _). Iwan ang Naka-on ang padding maliban kung ayaw ng system na pagbibigyan mo ng mga = sa dulo.

  3. I-paste ang iko-convert

    I-type o i-paste sa kahon sa ilalim ng mga setting, kapalit ng sample. Kapag nagde-decode, hindi pinapansin ang mga line break at espasyo sa Base64, at kusang nakikilala ang alinmang alpabeto.

  4. I-convert at kopyahin

    Pindutin ang I-convert para makita ang sagot; nag-a-update na ito habang nagta-type ka. Pindutin ang Kopyahin para kunin ito.

  5. Subukan pabalik

    Pindutin ang Gamitin bilang input para ibalik ang sagot sa kabilang direksyon. Kung bumalik nang buo ang orihinal mo, tama ang conversion.

Pagbasa ng resulta

  • Base64 o Teksto: ang na-convert na resulta, sa itaas.
  • Bytes papasok, Karakter palabas at Overhead: gaano karaming data ang pumasok, gaano kahaba ang Base64, at gaano ito humaba. Laging mas mahaba ang Base64 kaysa sa orihinal.
  • Kapag nagde-decode, ipinapakita ng Karakter papasok, Bytes palabas at Alpabeto ang pareho nang pabaligtad, at kung aling alpabeto ang ginamit ng string.
  • Na-decode, pero hindi teksto ang mga byte na ito: file ang laman ng Base64, gaya ng larawan o PDF, hindi mga salita. Ang bilang ng bytes at ang mga unang byte ang ipinapakita.

Kung may problema

  • Hindi kandado ang Base64 — kayang ibalik ito ng kahit sino sa orihinal, kaya huwag itong gamitin para itago ang password.
  • Pumapalya ang pag-decode at may mensahe tungkol sa haba o padding: may kulang na bahagi ang string. Kopyahin ulit nang buo, pati ang mga = sa dulo.
  • Sabi ng error, Pinaghalo nito ang dalawang base64 alphabet: dalawang magkaibang string ang pinagdugtong. Kopyahin lang ang kailangan mo.

Ano ito

Isinusulat muli ng Base64 ang kahit anong bytes gamit ang 64 na naipapakitang karakter, para makadaan sila sa isang bagay na teksto lamang ang dala — isang URL, email header, JSON string, o HTML attribute.

Ginagawa munang UTF-8 bytes ang teksto, at ang bytes ang siyang ini-encode. Iyon ang ibig sabihin ng bawat ibang implementasyon sa "Base64 ng isang string", at iyon ang dahilan kung bakit ligtas dito ang tandang piso, ang ñ at ang emoji. Ang function ng browser na pinagpapatungan ng karamihan sa online na tool ay Latin-1 lamang: nagkakamali ito sa anumang lampas sa U+00FF, at ang ₱ ay U+20B1.

Pabaligtad ding tumatakbo ang pag-decode, may isang pagtanggi. Kapag hindi wastong UTF-8 ang bytes — dahil larawan o compressed na file ang idinikit mo — hindi ito ipapakita ng pahina bilang teksto. Ginagawa itong hanay ng replacement character ng mapagbigay na decoder, na parang sagot pero hindi. Bilang ng bytes at hex preview ang makukuha mo sa halip.

Mga tanong

Encryption ba ang Base64?

Hindi, at ito ang pagkakamaling mahalaga. Ang Base64 ay paraan ng pagsulat ng bytes gamit ang 64 na naipi-print na karakter para makaligtas sila sa daluyang teksto lang ang dala — header ng email, data URL, string ng JSON. Kayang i-decode ito ninuman sa isang segundo, pati rito sa pahinang ito. Huwag itong gamitin para itago ang password, API key o anumang hindi mo ilalathala.

Bakit nasira ang ₱ sign ko sa ibang tool?

Dahil naka-encode ito bilang Latin-1 at hindi UTF-8. Isang karakter ang ₱ pero tatlong byte, at tinatanggihan agad ng browser function na pinagbatayan ng karamihan sa mga tool ang anumang lampas 255. Ini-encode nito ang UTF-8 na bytes, kaya buo ang ₱, ñ, Baybayin at emoji pagkatapos ng balikan.

Ano ang pagkakaiba ng dalawang alphabet?

Ang huling dalawang karakter lamang. Gumagamit ang karaniwang Base64 ng + at /, na pareho may kahulugan sa loob ng URL at kailangang i-escape. Gumagamit ang URL-safe na alphabet ng - at _ para maipasok ang resulta sa link o pangalan ng file nang walang binabago. Wala nang ibang nagbabago, at nade-decode ng pahinang ito ang alinman nang hindi sinasabi kung alin.

Bakit mas mahaba ng ikatlo ang naka-encode kong teksto?

Dahil ang tatlong byte ay isinusulat na apat na karakter. 33% na pagtaas iyon, dagdag ang hanggang dalawang padding na karakter. Iyon ang kapalit ng paggamit lamang ng mga karakter na hindi nasisira kapag kinopya, ni-paste at ipinadala sa email.

Puwede ba akong mag-paste ng may line breaks?

Oo. Binabalot ng email attachment ang Base64 sa 76 karakter kada linya, at nagdaragdag ng sariling putol ang pagkopya mula sa terminal. Hindi pinapansin ang espasyo sa pag-decode, at sinasabi ng pahina kapag may hindi nitong pinansin.

Sabi nito hindi teksto ang bytes ko. Ano ang ibig sabihin niyon?

May na-decode kang hindi kailanman teksto — larawan, PDF, naka-compress na file. Sa halip na ipakita sa iyo ang hanay ng mga pamalit na karakter na mukhang sirang sagot, ipinapakita ng pahina ang bilang ng byte at ang mga unang byte sa hex para makita mo kung ano talaga ito.

Paano ito nag-e-encode

Ang tatlong byte ay nagiging apat na karakter
M a n 3 bytes = 24 bits
010011 010110 000101 101110 4 na grupo ng 6
T W F u 4 na karakter
Bakit ang mga =

Hindi nahahati nang pantay ang anim na bit sa walo, kaya ang habang hindi multiplo ng tatlo ay nag-iiwan ng bahagyang grupo. Sinasabi ng padding kung ilang byte talaga ang laman ng huling grupo: isang = ay dalawang byte, dalawa ay isa. May mga sistemang inaalis ito, kaya nagde-decode ang pahina mayroon man o wala.

Halimbawa
f Zg==
fo Zm8=
foo Zm9v
₱ 4oKx

Ang unang tatlo ay ang test vectors ng RFC 4648. Ang pang-apat ay isang karakter at tatlong byte, at ito ang sumisira sa Latin-1 na encoder.

Ituloy pa

Mahalaga

Ang Base64 ay encoding, hindi encryption — mababasa ninumang makakita ang anumang ini-encode mo rito. Walang ipinapadala sa mga server namin ang tina-type mo rito — sa browser mo tumatakbo nang buo ang pagkuwenta.