Base64 patungo sa Imahe
Ang Base64 patungo sa Imahe ay isang libreng tool na nagbabalik ng naka-encode na Base64 image data sa anyong imahe.
Paano kinakatawan ng Base64 ang isang imahe?
Kinakatawan ng Base64 ang isang imahe sa pamamagitan ng pagsasalin ng mga binary byte nito sa limitadong hanay ng mga napi-print na text character. Ginagamit ito dahil may mga system na dinisenyong magdala ng text sa halip na raw binary data. Kapag naka-encode ang mga byte, mas madali silang mailagay sa email, JSON, HTML o iba pang text-based na format.
Gumagamit ang karaniwang Base64 alphabet ng malalaki at maliliit na titik, mga digit, plus sign at forward slash. Maaari ring magkaroon ng equals sign sa dulo bilang padding. Karaniwang nagiging apat na Base64 character ang bawat tatlong input byte, kaya humigit-kumulang sangkatlo ang inilalaki ng naka-encode na anyo kumpara sa orihinal na data.
Malinaw na makikita ang proseso sa maliit na halimbawang ito:
- Mga orihinal na byte na binasa bilang text: Man
- Base64 output: TWFu
Ganoon din ang proseso para sa isang imahe, ngunit ang mga orihinal na byte nito ay naglalarawan ng PNG, JPEG, GIF, WebP o ibang format ng imahe sa halip na nababasang text. Hindi tinutukoy ng raw Base64 ang uri ng imahe. Maaaring nakasaad ang impormasyong iyon sa isang data URL o matukoy mula sa file signature pagkatapos itong i-decode.
Paano ko ibabalik sa imahe ang Base64?
I-paste sa tool ang Base64 image data at isumite ito para i-convert. Isang imahe ang ibabalik na resulta. Bago gawin ito, tingnan kung raw Base64 lang ang value o kung isa itong kumpletong data URL.
- Hanapin ang naka-encode na value at kopyahin ito mula sa JSON, CSS o source code nang hindi isinasama ang mga quotation mark sa paligid nito.
- Maghanap ng data URL prefix gaya ng data:image/png;base64,. Nagsisimula pagkatapos ng kuwit ang mismong Base64 payload.
- Kung hindi tanggap ang kumpletong data URL, alisin ang prefix at ang naka-encode na payload lamang ang isumite. Hindi pare-pareho ang mga decoder sa pagtanggap sa wrapper.
- Tiyaking tama ang nilalaman, mga dimensyon at format ng nabuong imahe bago ito gamitin sa ibang lugar.
Kung minsan, nagkakaroon ng mga espasyo at line break kapag hinahati ng email software ang isang mahabang Base64 value. Binabalewala ng ilang decoder ang whitespace na ito, samantalang tinatanggihan naman ito ng mas mahihigpit na decoder. Huwag magdagdag ng bantas o paliwanag sa payload. Wastong Base64 character ang mga numero, pero hindi nangangahulugang imahe ang isang string dahil puro wastong character ang laman nito.
Walang byte na kinakatawan ang isang walang-lamang Base64 value, kaya hindi ito makakagawa ng magagamit na imahe. Malaki rin ang sakop ng napakahahabang value dahil pinalalaki ng Base64 ang orihinal na data. Para maproseso ang mga ito, kailangang mailipat at ma-decode ang buong naka-encode na string.
Bakit ayaw ma-decode ng Base64 image ko?
Karaniwang hindi nade-decode ang isang Base64 image dahil mali o kulang ang text, maling alphabet ang ginamit, o hindi image bytes ang nilalaman nito. Posible ring double encoding ang dahilan kung higit sa isang beses itong na-encode ng pinagmulan. Makakatulong ang posisyon at anyo ng error para matukoy ang sanhi.
- Putol na input. Maaaring maputol ang dulo ng isang mahabang value kapag kinopya ito mula sa mga log, database viewer o messaging system. Kapag may nawawalang character, karaniwang nagiging kulang ang na-decode na mga byte.
- Maling variant o alphabet. Gumagamit ang karaniwang Base64 ng + at /, samantalang karaniwang ginagamit ng Base64url ang - at _. Maaaring tanggihan ang input ng decoder kung ibang variant ang inaasahan nito.
- Kulang na padding. Maaaring magtapos sa isa o dalawang equals sign ang mga Base64 value. Inaalis ng ilang system ang padding na ito at nabubuo naman itong muli ng ilang decoder, pero maaaring hingin ito ng mahihigpit na implementation.
- Binary data na hindi imahe. Maaaring kumatawan ang Base64 sa PDF, archive, font o anumang ibang byte. Kaya hindi garantiya ng wastong Base64 na wasto rin itong imahe.
- Kalituhan sa text encoding. Hindi kabilang sa Base64 alphabet ang mga titik na may accent, emoji at non-Latin na character. Bago i-encode sa Base64, kailangan munang katawanin bilang mga byte ang mga character na ito, karaniwan sa UTF-8.
- Double encoding. Kung isa pang mahabang string na puro Base64 character ang lumabas sa unang pag-decode, posibleng dalawang beses na-encode ang pinagmulan. I-decode muli ang intermediate value nang isang beses lamang kung kinukumpirma ng pinagmulan nito na iyon ang inaasahang proseso.
Kung puro hindi mabasang character ang inilabas ng isang pangkalahatang Base64 decoder, hindi agad nangangahulugang nabigo ang pag-decode. Binary ang image bytes at hindi inaasahang mababasa ang mga ito bilang text. Gamitin ang Base64 decoder kung kailangan mong suriin ang payload na hindi imahe, at ang Imahe sa Base64 kung gusto mong gawin ang kabaligtarang proseso.
Saan ginagamit ang Base64 image data?
Ginagamit ang Base64 image data kapag kailangang dumaan ang mga binary file sa isang field o dokumentong nakalaan para sa text. Kabilang sa mga karaniwang halimbawa ang mga imaheng naka-embed sa HTML o CSS data URL, mga image property sa JSON API payload, at mga bahagi ng MIME email.
Maaari rin itong lumitaw sa mga query string, kung saan posibleng hindi maproseso nang tama ng mga application query parser ang karaniwang Base64 character. Partikular itong nangyayari sa mga form-style parser na itinuturing na espasyo ang mga plus sign o delimiter ang mga equals sign. Pinapalitan ng Base64url ang mga character na nagdudulot ng problema at madalas ding inaalis ang padding, kaya mas angkop ito sa mga URL at token.
Hindi gumagamit ng Base64 ang mga internationalised domain name. Sa IDNA system, hindi binabago ang mga ASCII label, habang maaaring katawanin bilang A-label gamit ang Punycode ang mga non-ASCII U-label. Posibleng lumitaw ang isang Base64 value sa ibang bahagi ng URL, gaya ng query string nito. Mahalagang malaman ang pagkakaibang ito kapag sinusuri ang isang value na kinopya mula sa address ng browser.
Walang native binary type ang JSON, kaya kung minsan ay inilalagay ng mga API ang Base64 image content sa loob ng quoted string. Maginhawa ito para sa text-based na pagpapalitan ng data, pero pinalalaki nito ang payload. Para sa malalaki o madalas na pag-upload, karaniwang mas angkop ang normal na binary file upload.
Base64 encoding, pagiging lihim at pagproseso sa server
Encoding ang Base64, hindi encryption, at wala itong ibinibigay na proteksiyon para mapanatiling lihim ang data. Maaaring i-decode nang walang password o key ng sinumang may hawak ng value. Kaya hindi dapat protektahan ang mga credential, pribadong litrato at kumpidensiyal na dokumento sa pamamagitan lamang ng pag-convert sa mga ito sa Base64.
Para sa tool na ito, sa server ginagawa ang pagproseso. Ipinapadala sa server ang iyong input sa pamamagitan ng HTTPS at hindi ito iniimbak. Pinoprotektahan ng HTTPS ang koneksiyon habang inililipat ang data, pero hindi nito ginagawang encrypted content ang Base64 value o ginagawang ligtas ang isang hindi pinagkakatiwalaang pinagmulan.
Hindi rin sinusuri ng pag-decode kung ligtas ang isang imahe. Tratuhin ang mga imaheng na-decode mula sa mga Base64 value na galing sa hindi kilalang nagpadala nang may parehong pag-iingat na ibinibigay mo sa iba pang na-download na imahe.
Mga madalas itanong
Malalaman ko ba ang format ng imahe mula sa raw Base64?
Minsan, pero hindi tinutukoy ng Base64 alphabet lamang ang format. May mga signature ang mga na-decode na file, na madalas tawaging magic bytes, at magagamit ang mga ito ng software para matukoy ang pagkakaiba ng mga format gaya ng PNG, JPEG at GIF. Maaari ring magdeklara ng media type ang isang data URL, pero posibleng mali ang label na iyon at hindi ito dapat manaig sa mismong mga byte.
Nababawasan ba ang kalidad ng imahe kapag dine-decode ang Base64?
Hindi. Ibinabalik ng wastong Base64 decode ang mga orihinal na byte at hindi nito muling kino-compress ang imahe. Hindi nagbabago ang kalidad ng imahe, colour data at naka-embed na metadata maliban kung pagkatapos ay i-edit o i-convert ng ibang programa ang na-decode na file.
Puwede bang maglaman ng SVG image ang Base64?
Oo, maaaring i-encode sa Base64 ang SVG data, bagaman nakadepende sa tumatanggap na software kung maipapakita ito. XML-based na format ang SVG at maaari itong maglaman ng mga script, link o external reference. Kaya huwag ipalagay na ligtas buksan ang Base64-encoded SVG mula sa hindi kilalang pinagmulan.
Bakit mas malaki ang Base64 image kaysa sa orihinal na file?
Gumagawa ang Base64 ng apat na text character para sa bawat tatlong byte ng source data, at maaaring may padding ang huling quantum. Inaatas ng RFC 4648 ang padding maliban kung tahasang pinapayagan ng tumutukoy na specification na alisin ito. Dahil dito, humigit-kumulang sangkatlo ang inilalaki ng resulta bago pa idagdag ang anumang data URL prefix, JSON quoting o transport overhead. Kung tumatanggap ang isang system ng karaniwang file upload, mas kaunting data ang karaniwang nagagamit kapag ipinadala ang orihinal na binary image.
Katulad na mga kasangkapan
Mga sikat na tool
Madaling bumuo ng sarili mong pasadyang pirma at i-download ito nang madali.
Kunin ang laki ng isang teksto sa Bytes (B), Kilobytes (KB) o Megabytes (MB).
Kumuha ng isang IP at subukang hanapin ang domain/host na nauugnay dito.
Gamitin ang aming ping tool upang mabilis na suriin ang katayuan at oras ng pagtugon ng anumang website, server o port.
Nagbibigay ang IP lookup tool ng Digily Link ng detalyadong impormasyon tungkol sa anumang IP address. Gamitin ang libreng online na serbisyong ito para sa komprehensibong datos ng IP.
Bumuo agad ng libreng WhatsApp link. Magdagdag ng pasadyang mensahe at magsimula ng chat sa isang click, nang walang login o coding.