Koding og dekoding av Base64-strenger i Python
Base64-kodingen brukes til å konvertere byte som har binære eller tekstdata til ASCII-tegn. Koding forhindrer at data blir ødelagt når de overføres eller behandles gjennom et system med kun tekst. I denne artikkelen vil vi diskutere Base64-koding og -dekoding og bruken av det til å kode og dekode binær- og tekstdata.
Base64-koding:
Det er en type konvertering av byte til ASCII-tegn. listen over tilgjengelige Base64-tegn er nevnt nedenfor:
- 26 store bokstaver
- 26 små bokstaver
- 10 tall
- + og / for nye linjer
Hvert Base64-tegn representerer 6 databiter. det er også viktig å merke seg at det ikke er ment for kryptering av åpenbare grunner.
For å konvertere en streng til et Base64-tegn bør følgende trinn følges:
- Få ASCII-verdien til hvert tegn i strengen.
- Beregn den 8-biters binære ekvivalenten til ASCII-verdiene
- Konverter 8-bits tegnbiten til biter på 6 bits ved å omgruppere sifrene
- Konverter de 6-bits binære gruppene til deres respektive desimalverdier.
- Bruk Base64-kodingstabellen for å justere de respektive Base64-verdiene for hver desimalverdi.
Bildet nedenfor gir oss en Base64-kodingstabell.
Bildekilde: Wikipedia
Bruke python til å kode strenger:I Python brukes base64-modulen til å kode og dekode data. Først blir strengene konvertert til byte-lignende objekter og deretter kodet ved hjelp av base64-modulen. Eksemplet nedenfor viser at implementeringen av kodingsstrenger ikke er 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}'> )> |
Produksjon:
Encoded string: R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA==
Bruke Python til å dekode strenger:
Dekoding Base64-streng er nøyaktig motsatt av koding. Først konverterer vi Base64-strengene til ukodede databytes etterfulgt av konvertering til byte-lignende objekter til en streng. Eksemplet nedenfor viser dekodingen av kodestrengutgangen ovenfor.
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}'> )> |
Produksjon:
Decoded string: GeeksForGeeks is the best