Supprimer la nouvelle ligne “\n” à partir de chaînes codées en base64 dans Python3?
Je suis en train de faire une connexion HTTPS dans Python3 et quand j'essaie de coder mon nom d'utilisateur et le mot de passe de la base64
encodebytes
méthode renvoie la valeur codée avec un caractère de nouvelle ligne à la fin "\n" et à cause de cela, j'obtiens une erreur lorsque j'essaie de me connecter.
Est-il un moyen de dire la base64
bibliothèque de ne pas ajouter une nouvelle ligne de caractère lors de l'encodage ou quel est le meilleur moyen de supprimer ce caractère de nouvelle ligne? J'ai essayé d'utiliser le replace
méthode, mais j'obtiens l'erreur suivante:
Traceback (most recent call last):
File "data_consumer.py", line 33, in <module>
auth_base64 = auth_base64.replace('\n', '')
TypeError: expected bytes, bytearray or buffer compatible object
Mon code:
auth = b'[email protected]:passWORD'
auth_base64 = base64.encodebytes(auth)
auth_base64 = auth_base64.replace('\n', '')
Des idées? Grâce
OriginalL'auteur Mo. | 2015-06-04
Vous devez vous connecter pour publier un commentaire.
Au lieu de
encodestring
envisager d'utiliserb64encode
. Plus tard, ne pas ajouter\n
caractères. par exemple,Il produit identique chaîne codée à l'exception de la
\n
fonctionne avec python3 et
base64.standard_b64encode(auth)
semble renvoyer le même résultat.Remarque: En Python 3,
base64.standard_b64encode(s)
est défini commereturn b64encode(s)
, afin de l'appelantbase64.b64encode(s)
est très bien.OriginalL'auteur Mandar Vaze
Code suivant fonctionnerait
OriginalL'auteur Sarit Adhikari