Kodiranje in dekodiranje nizov Base64 v Pythonu
Kodiranje Base64 se uporablja za pretvorbo bajtov, ki vsebujejo binarne ali besedilne podatke, v znake ASCII. Kodiranje preprečuje, da bi se podatki poškodovali, ko se prenašajo ali obdelujejo prek besedilnega sistema. V tem članku bomo razpravljali o kodiranju in dekodiranju Base64 ter njegovi uporabi za kodiranje in dekodiranje binarnih in besedilnih podatkov.
Kodiranje Base64:
Je vrsta pretvorbe bajtov v znake ASCII. seznam razpoložljivih znakov Base64 je naveden spodaj:
- 26 velikih črk
- 26 malih črk
- 10 številk
- + in / za nove vrstice
Vsak znak Base64 predstavlja 6 bitov podatkov. pomembno je tudi omeniti, da iz očitnih razlogov ni namenjen šifriranju.
Za pretvorbo niza v znak Base64 sledite naslednjim korakom:
- Pridobite vrednost ASCII vsakega znaka v nizu.
- Izračunajte 8-bitni binarni ekvivalent vrednosti ASCII
- Pretvorite del 8-bitnih znakov v 6-bitne kose s ponovnim združevanjem števk
- Pretvorite 6-bitne binarne skupine v njihove ustrezne decimalne vrednosti.
- Uporabite tabelo kodiranja Base64, da poravnate ustrezne vrednosti Base64 za vsako decimalno vrednost.
Spodnja slika nam ponuja tabelo kodiranja Base64.
Vir slike: Wikipedia
Uporaba pythona za kodiranje nizov:V Pythonu se modul base64 uporablja za kodiranje in dekodiranje podatkov. Najprej se nizi pretvorijo v bajtom podobne objekte in nato kodirajo z uporabo modula base64. Spodnji primer prikazuje implementacijo kodiranih nizov, ki niso znaki base64.
primer:
import> base64> > sample_string> => 'GeeksForGeeks is the best'> sample_string_bytes> => sample_string.encode(> 'ascii'> )> > base64_bytes> => base64.b64encode(sample_string_bytes)> base64_string> => base64_bytes.decode(> 'ascii'> )> > print> (f> 'Encoded string: {base64_string}'> )> |
Izhod:
Encoded string: R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA==
Uporaba Pythona za dekodiranje nizov:
Dekodiranje niza Base64 je ravno nasprotno od kodiranja. Najprej pretvorimo nize Base64 v nekodirane podatkovne bajte, čemur sledi pretvorba v bajtom podoben objekt v niz. Spodnji primer prikazuje dekodiranje izpisa kodiranega niza zgornjega primera.
primer:
import> base64> > > base64_string> => ' R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA =='> base64_bytes> => base64_string.encode(> 'ascii'> )> > sample_string_bytes> => base64.b64decode(base64_bytes)> sample_string> => sample_string_bytes.decode(> 'ascii'> )> > print> (f> 'Decoded string: {sample_string}'> )> |
Izhod:
Decoded string: GeeksForGeeks is the best