Base64 Kodiranje

Pomoću alata za kodiranje Base64 možete šifrirati tekst koji unesete metodom Base64. Ako želite, možete dekodirati šifrirani Base64 kod pomoću Base64 Decode alata.

Šta je Base64 kodiranje?

Base64 kodiranje je šema kodiranja koja omogućava transport binarnih podataka u okruženjima koja koriste samo neka ograničena kodiranja znakova (okruženja u kojima se ne mogu koristiti svi kodovi znakova, kao što su xml, html, skripta, aplikacije za razmjenu trenutnih poruka). Broj znakova u ovoj šemi je 64, a broj 64 u riječi Base64 dolazi odavde.

Zašto koristiti Base64 kodiranje?

Potreba za Base64 kodiranjem proizilazi iz problema koji nastaju kada se mediji prenose u sirovom binarnom formatu na sisteme zasnovane na tekstu. Budući da sistemi zasnovani na tekstu (kao što je e-pošta) tumače binarne podatke kao širok spektar znakova, uključujući specijalne komandne znakove, većina binarnih podataka koji se prenose na medij za prenos se pogrešno tumače od strane ovih sistema i gube se ili oštećuju u prenosu proces.

Jedna metoda kodiranja takvih binarnih podataka na način koji izbjegava takve probleme prijenosa je da ih pošaljete kao običan ASCII tekst u Base64 kodiranom formatu. Ovo je jedna od tehnika koje koristi MIME standard za slanje podataka osim običnog teksta. Mnogi programski jezici, kao što su PHP i Javascript, uključuju Base64 funkcije kodiranja i dekodiranja za tumačenje podataka koji se prenose korištenjem Base64 kodiranja.

Logika kodiranja Base64

U Base64 kodiranju, 3 * 8 bita = 24 bita podataka koji se sastoje od 3 bajta podijeljeni su u 4 grupe od po 6 bita. Znakovi koji odgovaraju decimalnim vrijednostima između [0-64] od ove 4 6-bitne grupe uparuju se iz Base64 tablice za kodiranje. Broj znakova dobivenih kao rezultat Base64 kodiranja mora biti višekratnik od 4. Kodirani podaci koji nisu višestruki od 4 nisu važeći Base64 podaci. Kada se kodira pomoću Base64 algoritma, kada je kodiranje završeno, ako dužina podataka nije višekratnik 4, znak "=" (jednako) se dodaje na kraj kodiranja sve dok ne bude višekratnik 4. Na primjer, ako imamo Base64 kodirane podatke od 10 znakova kao rezultat kodiranja, dva "==" treba dodati na kraj.

Primjer kodiranja Base64

Na primjer, uzmite tri ASCII broja 155, 162 i 233. Ova tri broja formiraju binarni tok od 100110111010001011101001. Binarni fajl kao što je slika sadrži binarni tok koji radi za desetine ili stotine hiljada nula i jedinica. Base64 koder počinje dijeljenjem binarnog toka u grupe od šest znakova: 100110 111010 001011 101001. Svaka od ovih grupa se prevodi u brojeve 38, 58, 11 i 41. Binarni tok od šest znakova se pretvara između binarnog (ili osnovnog). 2) na decimalne (osnovne 10) znakove kvadriranjem svake vrijednosti predstavljene sa 1 u binarnom nizu pozicionim kvadratom. Počevši s desna i krećući se ulijevo i počevši od nule, vrijednosti u binarnom toku predstavljaju 2^0, zatim 2^1, zatim 2^2, zatim 2^3, zatim 2^4, zatim 2^ 5.

Evo još jednog načina da to pogledate. Počevši s lijeve strane, svaka pozicija vrijedi 1, 2, 4, 8, 16 i 32. Ako slot ima binarni broj 1, dodajete tu vrijednost; ako slot ima 0, nedostaje vam. Binarni niz 100110 pretvara 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 decimalni + 4 + 0 + 0 + 32. Base64 kodiranje uzima ovaj binarni niz i dijeli ga na 6-bitne vrijednosti 38, 58, 11 i 41. Konačno, ovi brojevi se konvertuju u ASCII znakove koristeći Base64 tablicu kodiranja.