Kodning och avkodning av Base64-strängar i Python
Base64-kodningen används för att konvertera bytes som har binär- eller textdata till ASCII-tecken. Kodning förhindrar att data skadas när de överförs eller bearbetas genom ett system med endast text. I den här artikeln kommer vi att diskutera Base64-kodning och avkodning och dess användningsområden för att koda och avkoda binär- och textdata.
Base64-kodning:
Det är en typ av konvertering av byte till ASCII-tecken. listan över tillgängliga Base64-tecken nämns nedan:
- 26 versaler
- 26 små bokstäver
- 10 nummer
- + och / för nya rader
Varje Base64-tecken representerar 6 databitar. det är också viktigt att notera att det inte är avsett för kryptering av uppenbara skäl.
För att konvertera en sträng till ett Base64-tecken bör följande steg följas:
- Hämta ASCII-värdet för varje tecken i strängen.
- Beräkna den 8-bitars binära ekvivalenten av ASCII-värdena
- Konvertera 8-bitars teckenbiten till bitar om 6 bitar genom att gruppera om siffrorna
- Konvertera de 6-bitars binära grupperna till deras respektive decimalvärden.
- Använd Base64-kodningstabellen för att justera respektive Base64-värden för varje decimalvärde.
Bilden nedan ger oss en Base64-kodningstabell.
Bildkälla: Wikipedia
Använda python för att koda strängar:I Python används base64-modulen för att koda och avkoda data. Först konverteras strängarna till byteliknande objekt och kodas sedan med base64-modulen. Exemplet nedan visar att implementeringen av kodningssträngar inte är base64-tecken.
Exempel:
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==
Använda Python för att avkoda strängar:
Avkodning Base64-strängen är precis motsatt den för kodning. Först konverterar vi Base64-strängarna till okodade databytes följt av konvertering till byteliknande objekt till en sträng. Exemplet nedan visar avkodningen av ovanstående exempel på kodsträngsutdata.
Exempel:
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