Base64 enkoder i dekoder
Kodirajte tekst u Base64 ili ga dekodirajte nazad, uz punu podršku za UTF-8 (č, ć, š, ž, đ i ćirilicu). Fajl možete pretvoriti u data URI.
Besplatno, bez registracije. Sve se izvršava u vašem pregledaču. Podaci ne napuštaju vaš uređaj.
Kako se koristi
- 1Izaberite kodiranje ili dekodiranje.
- 2Unesite tekst.
- 3Kopirajte rezultat.
- 4Za fajl izaberite fajl i kopirajte data URI.
Više o alatu
Base64 pretvara binarne podatke u tekst od 64 bezbedna znaka. Koristi se za ugradnju slika u HTML i CSS, slanje fajlova kroz JSON API-je, email priloge i autentifikaciju. Base64 nije enkripcija: svako ga može dekodirati, pa ga ne koristite za skrivanje podataka.
Šta je Base64 i čemu služi
Base64 je način da se bilo koji niz bajtova predstavi pomoću 64 znaka iz ASCII tabele: velika i mala slova, cifre, plus i kosa crta. Ideja je jednostavna: mnogi sistemi kroz koje podaci prolaze (email protokoli, JSON, HTML atributi, URL parametri) nisu napravljeni da bezbedno prenesu binarne bajtove, pa se oni prvo "pakuju" u običan tekst.
Zato Base64 srećete svuda: slika ugrađena direktno u CSS preko data: URI-ja, prilog u emailu, token za autentifikaciju u zaglavlju HTTP zahteva, polje u JSON telu API poziva. Alat na ovoj strani radi u oba smera, uz podršku za UTF-8, pa srpska slova i ćirilica prolaze bez izobličenja.
Ključno je razumeti šta Base64 nije: to nije enkripcija ni zaštita. Svako ko dobije kod može ga dekodirati u sekundi, bez ključa i lozinke. Ako podatke treba sakriti, potrebna vam je prava kriptografija, a ne Base64.
Kako napraviti Base64 od teksta ili fajla
Postupak je uvek isti, bez obzira na to šta kodirate:
- Nalepite tekst u polje za unos ili izaberite fajl.
- Alat uzima bajtove zapisa, najčešće UTF-8, i deli ih u grupe od po tri bajta.
- Svaka grupa se prevodi u četiri Base64 znaka. Ako na kraju ostane jedan ili dva bajta, dodaju se znakovi
=kao dopuna. - Dobijeni kod kopirate i koristite gde vam treba.
Praktičan primer: tekst Zdravo u UTF-8 ima 6 bajtova i daje WmRyYXZv. Srpsko č zauzima dva bajta, pa reč čaj daje xI1hag==. Ti znakovi = na kraju nisu greška, oni samo kažu koliko je bajtova dopunjeno.
Kod fajlova pazite na veličinu. Slika od 100 KB nakon kodiranja ima oko 133 KB teksta, a ceo sadržaj mora da stane u jedan string. Za data URI u CSS-u to je prihvatljivo za ikonice i manje slike, ali ne za velike fotografije, jer se takav CSS učitava pri svakom otvaranju stranice.
Savet za napredne: kada Base64 ide u URL ili ime fajla, koristite varijantu bezbednu za URL, gde se + i / zamenjuju sa - i _, a = se često izostavlja. Standardni i URL bezbedni Base64 nisu uvek zamenljivi, pa proverite šta drugi sistem očekuje.
Zašto Base64 tekst izgleda duži i kako to proveriti
Base64 koristi 64 znaka, a svaki znak nosi 6 bitova. Pošto bajt ima 8 bitova, potrebno je više znakova nego bajtova, otprilike četvrtinu više, plus eventualni =. Zato tekst uvek izgleda duže od originala, i to je normalno, a ne greška alata.
Kada dekodiranje ne uspe, uzrok je gotovo uvek jedan od ovih:
- kod je presečen ili je izgubljen deo pri kopiranju iz emaila ili chat poruke;
- u kod su ušli razmaci, prelomi redova ili nevidljivi znakovi;
- mešaju se standardni i URL bezbedni Base64;
- tekst je kodiran u drugoj kodnoj strani, pa se srpska slova prikazuju kao upitnici ili čudni simboli.
Provera je jednostavna: dužina ispravnog Base64 koda je uvek deljiva sa četiri, a znakovi van osnovnog skupa su retki. Ako dekodirani tekst izgleda ispravno ali slova nisu dobra, problem je u kodnom rasporedu, ne u samom Base64 kodu.
Najčešće greške pri radu sa Base64
Najveća greška je tretiranje Base64 koda kao tajne. Lozinke, API ključevi i lični podaci u Base64 formatu ostaju potpuno čitljivi svakome ko ih presretne. Ako se token prenosi kroz HTTPS, zaštitu daje TLS, a ne kodiranje.
Druga česta greška je dvostruko kodiranje. Ako kod dekodirate, pa ponovo kodirate isti rezultat, dobićete drugačiji string i teško ćete uočiti gde je nastao problem. Uvek vodite računa o tome u kom smeru idete i čuvajte original dok ne potvrdite da je rezultat ispravan.
Treća je mešanje kodnih rasporeda. Kada alat primi tekst, on mora znati da je u pitanju UTF-8, inače š i đ mogu završiti kao nečitljivi nizovi. Zato pri razmeni podataka sa drugim sistemom uvek navedite kodiranje, na primer u zaglavlju Content-Type: application/json; charset=utf-8.
Kada Base64 postane deo većeg sistema, recimo API-ja koji prima fajlove ili obrade tokena na serveru, greške se brzo umnože. U takvim slučajevima EVI Solutions može pomoći oko arhitekture i integracije, dok vam ovaj alat dobro služi za brzu proveru pojedinačnog teksta ili fajla.
Česta pitanja
Da li je Base64 enkripcija?
Nije. To je samo kodiranje koje svako može da obrne.
Zašto je Base64 tekst duži od originala?
Base64 povećava veličinu za oko 33%.
Da li podržava srpska slova?
Da, tekst se kodira kao UTF-8, pa su č, ć, š, ž, đ i ćirilica podržani.