Libreng Converter

Base64 Encoder / Decoder

I-encode ang text o mga file sa Base64 at i-decode kaagad ang mga string ng Base64 sa iyong browser. Libre, pribado, at walang kinakailangang pag-upload.

Tungkol sa tool na ito

Ang Base64 ay isang encoding scheme na kumakatawan sa binary data bilang ASCII text gamit ang 64 na napi-print na character: A-Z, a-z, 0-9, plus (+), at slash (/), na may katumbas na (=) na ginagamit para sa padding. Ang format ay orihinal na idinisenyo upang gumawa ng mga binary attachment na makaligtas sa 7-bit-clean na mga pagpapadala ng email, ngunit lumawak na ito sa dose-dosenang mga gamit ngayon: mga URL ng data sa HTML, JSON na naglalaman ng data ng imahe, mga JWT payload, pangunahing mga header ng pagpapatotoo, at anumang text-based na protocol na kailangang magdala ng mga byte.

Ang pag-encode ay tumatagal ng 3 byte ng input at gumagawa ng 4 na ASCII na character ng output. Ang output ay samakatuwid ay 33% na mas mahaba kaysa sa input — na kung saan ay ang halaga ng pag-angkop ng binary sa isang text-safe na format. Eksaktong binabaligtad ng pag-decode ang proseso, binabawi ang orihinal na mga byte mula sa naka-encode na teksto.

Ang tool na ito ay humahawak sa parehong direksyon. Ang Encode mode ay tumatagal ng text input (o isang binary file sa pamamagitan ng pag-upload) at gumagawa ng base64 text. Ang decode mode ay tumatagal ng base64 text at gumagawa ng orihinal na text o nada-download na binary. Ang variant na ligtas sa URL (gamit ang - at _ sa halip na + at /) ay sinusuportahan para sa mga token at identifier.

Bakit Gumamit ng Base64

Ang Base64 ay ang karaniwang paraan upang i-embed ang binary data sa mga text-only na konteksto. Gumagamit ang mga inline na larawan sa HTML ng mga URL ng data (data:image/png;base64,...) upang maipadala ang isang maliit na icon kasama ng page nang walang hiwalay na kahilingan. Ang mga JSON payload na may dalang mga larawan, certificate, o lagda ay naka-encode sa kanila bilang base64 string. Ang mga JWT token ay tatlong base64-encoded na segment na pinaghihiwalay ng mga tuldok.

Ang Base64 ay nag-normalize din ng paghawak ng character para sa mga protocol na nagkakamali sa paghawak ng 8-bit na binary. Ang mga header ng pagpapatotoo (Gumagamit ang basic na auth ng base64), mga attachment sa email, mga file ng pagsasaayos na naglalaman ng mga key, at maraming mga API ay nangangailangan ng base64 dahil ang binary ay hindi maaaring dumaan sa kanilang mga pipeline nang mapagkakatiwalaan.

Paano gamitin

I-paste ang data, piliin ang direksyon.

  1. Pumili ng encode o decode: Ang Encode ay gumagawa ng base64 text mula sa binary o text input. Binabaliktad ng decode ang proseso.
  2. Magdagdag ng input: Para sa pag-encode, mag-paste ng text o mag-upload ng binary file. Para sa pag-decode, i-paste ang base64 text. Awtomatikong nakikita ng tool ang variant na ligtas sa URL.
  3. Magbalik-loob: Gumagamit ang browser ng btoa para sa pag-encode at atob para sa pag-decode (na may UTF-8 na paghawak para sa hindi ASCII na teksto). Ang output ay eksakto at deterministiko.
  4. Kopyahin o i-download: Maaaring i-embed ang naka-encode na text sa mga URL, JSON, HTML data URL, o anumang text-based na protocol. Na-decode ang mga binary na pag-download bilang isang file na may hula sa naaangkop na extension batay sa nakitang uri ng file.

Mga Pangkaraniwang Paggamit

Mga Detalye ng Teknikal

Ang Base64 ay nagmamapa ng bawat 6 na bit ng input sa isa sa 64 na output na character. Tatlong input byte (24 bits) ang gumagawa ng apat na output na character. Kapag ang haba ng input ay hindi isang multiple ng 3, ang encoder ay nagdaragdag ng isa o dalawang magkaparehong mga senyales upang i-pad ang output sa isang maramihang ng 4 na mga character.

Ang base64 na ligtas sa URL (tinukoy sa RFC 4648 seksyon 5) ay pinapalitan ang + ng - at / ng _ upang makagawa ng mga string na ligtas na gamitin sa mga URL at filename nang hindi na lumalagpas pa. Ang padding ay katumbas ng mga palatandaan ay minsan ay tinanggal sa URL-safe na konteksto; Karaniwang tinatanggap ng mga decoder ang parehong mga form.

Direktang pinangangasiwaan ng btoa at atob ng JavaScript ang ASCII ngunit nabigo sa mga string na hindi ASCII. Para sa UTF-8 text, ang converter ay gumagamit ng TextEncoder/TextDecoder para mag-convert sa pagitan ng text at binary, pagkatapos ay base64-encode ang binary. Pinangangasiwaan nito nang tama ang emoji, mga accent na character, at mga script na hindi Latin.

Pinakamahusay na Kasanayan

Mga madalas itanong

Ano ang gamit ng Base64 encoding?
Ang Base64 ay nagko-convert ng binary data sa ASCII text. Kasama sa mga karaniwang gamit ang pag-embed ng mga larawan sa HTML (mga URI ng data), pag-encode ng mga attachment sa email, pagpapadala ng binary data sa mga JSON API, at pag-iimbak ng mga binary blobs sa mga text-based na database.
Ini-encrypt ba ng Base64 encoding ang aking data?
Hindi. Ang Base64 ay isang encoding, hindi encryption. Kahit sino ay maaaring mag-decode ng Base64 string. Idinisenyo ito para sa ligtas na transportasyon ng data, hindi sa seguridad. Gumamit ng aktwal na pag-encrypt (AES, RSA) para sa sensitibong data.
Bakit pinapataas ng Base64 ang laki ng file?
Kinakatawan ng Base64 ang bawat 3 byte ng input bilang 4 na ASCII na character, na nagreresulta sa humigit-kumulang 33% na pagtaas ng laki. Ito ang trade-off para sa ligtas na pag-embed ng binary data sa mga text format.
Maaari ba akong mag-encode ng mga larawan sa Base64?
Oo. Mag-upload ng image file at gagawa ang tool ng Base64 string na magagamit mo bilang data URI (data:image/png;base64,...) sa HTML o CSS.
Base64 ba ang mga token ng JWT?
Oo — Binubuo ang JWT ng tatlong base64url-encoded na segment na pinaghihiwalay ng mga tuldok. Ang una ay ang header, ang pangalawa ay ang payload, ang pangatlo ay ang lagda.
Na-upload ba ang aking data sa isang server?
Hindi. Ang pag-encode at pag-decode ay nangyayari sa iyong browser gamit ang btoa, atob, TextEncoder, at TextDecoder.
Ano ang maximum na sukat?
Hanggang 50 MB. Nililimitahan ng memorya ng browser ang praktikal na sukat para sa napakalaking input.
Bakit parang basura ang aking na-decode na output?
Malamang binary ang source, hindi text. Lumipat sa file-download mode upang makuha ang binary, o tingnan kung ang input ay talagang base64-encoded text kaysa binary.