Kodning og afkodning af Base64-strenge i Python
Base64-kodningen bruges til at konvertere bytes, der har binære eller tekstdata, til ASCII-tegn. Kodning forhindrer data i at blive beskadiget, når de overføres eller behandles gennem et system, der kun består af tekst. I denne artikel vil vi diskutere Base64-kodning og afkodning og dens anvendelser til at kode og afkode binære og tekstdata.
Base64-kodning:
Det er en form for konvertering af bytes til ASCII-tegn. listen over tilgængelige Base64-tegn er nævnt nedenfor:
- 26 store bogstaver
- 26 små bogstaver
- 10 numre
- + og / for nye linjer
Hvert Base64-tegn repræsenterer 6 bits data. det er også vigtigt at bemærke, at det ikke er beregnet til kryptering af indlysende årsager.
For at konvertere en streng til et Base64-tegn skal følgende trin følges:
- Få ASCII-værdien for hvert tegn i strengen.
- Beregn den 8-bit binære ækvivalent af ASCII-værdierne
- Konverter 8-bit-tegnklumpen til bidder af 6 bits ved at omgruppere cifrene
- Konverter de 6-bit binære grupper til deres respektive decimalværdier.
- Brug Base64-kodningstabellen til at justere de respektive Base64-værdier for hver decimalværdi.
Billedet nedenfor giver os en Base64-kodningstabel.
Billedkilde: Wikipedia
Brug af python til at kode strenge:I Python bruges base64-modulet til at kode og afkode data. Først konverteres strengene til byte-lignende objekter og kodes derefter ved hjælp af base64-modulet. Nedenstående eksempel viser implementeringen af kodningsstrenge er ikke base64-tegn.
Eksempel:
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}'> )> |
Produktion:
Encoded string: R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA==
Brug af Python til at afkode strenge:
Afkodning af Base64-strengen er nøjagtig modsat kodningen. Først konverterer vi Base64-strengene til ukodede databytes efterfulgt af konvertering til bytes-lignende objekt til en streng. Eksemplet nedenfor viser afkodningen af det ovenstående eksempel på encode string output.
Eksempel:
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}'> )> |
Produktion:
Decoded string: GeeksForGeeks is the best