Encodage et décodage de chaînes Base64 en Python

Encodage et décodage de chaînes Base64 en Python

Le codage Base64 est utilisé pour convertir les octets contenant des données binaires ou textuelles en caractères ASCII. Le codage empêche les données d'être corrompues lorsqu'elles sont transférées ou traitées via un système texte uniquement. Dans cet article, nous discuterons de l'encodage et du décodage Base64 et de ses utilisations pour encoder et décoder des données binaires et textuelles.

Encodage Base64 :
C'est un type de conversion d'octets en caractères ASCII. la liste des caractères Base64 disponibles est mentionnée ci-dessous :

  • 26 lettres majuscules
  • 26 lettres minuscules
  • 10 numéros
  • + et / pour les nouvelles lignes

Chaque caractère Base64 représente 6 bits de données. il est également important de noter qu’il n’est pas destiné au cryptage pour des raisons évidentes.
Pour convertir une chaîne en caractère Base64, les étapes suivantes doivent être suivies :

  • Obtenez la valeur ASCII de chaque caractère de la chaîne.
  • Calculer l'équivalent binaire 8 bits des valeurs ASCII
  • Convertissez le morceau de caractères de 8 bits en morceaux de 6 bits en regroupant les chiffres
  • Convertissez les groupes binaires de 6 bits en leurs valeurs décimales respectives.
  • Utilisez la table de codage Base64 pour aligner les valeurs Base64 respectives pour chaque valeur décimale.

L'image ci-dessous nous fournit une table d'encodage Base64.

Source de l'image : Wikipédia

Utiliser Python pour encoder des chaînes :
En Python, le module base64 est utilisé pour encoder et décoder les données. Tout d'abord, les chaînes sont converties en objets de type octet, puis codées à l'aide du module base64. L'exemple ci-dessous montre que l'implémentation des chaînes de codage n'est pas constituée de caractères base64.

Exemple:




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}'> )>

Sortir:

Encoded string: R2Vla3NGb3JHZWVrcyBpcyB0aGUgYmVzdA== 

Utiliser Python pour décoder des chaînes :
Le décodage d’une chaîne Base64 est exactement opposé à celui de l’encodage. Nous convertissons d’abord les chaînes Base64 en octets de données non codés, suivis d’une conversion en objet de type octets en chaîne. L'exemple ci-dessous illustre le décodage de l'exemple de sortie de chaîne d'encodage ci-dessus.

Exemple:




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}'> )>

Sortir:

Decoded string: GeeksForGeeks is the best