web-dev-qa-db-fra.com

Comment convertir une chaîne binaire en chaîne normale en Python3?

Par exemple, j'ai une chaîne comme ceci (retourne la valeur subprocess.check_output):

>>> b'a string'
b'a string'

Quoi que je fasse, il est toujours imprimé avec le b' ennuyant avant la chaîne:

>>> print(b'a string')
b'a string'
>>> print(str(b'a string'))
b'a string'

Quelqu'un a-t-il des idées sur la façon de l'utiliser comme chaîne normale ou de la convertir en chaîne normale?

188
Hanfei Sun

Décodez-le.

>>> b'a string'.decode('ascii')
'a string'

Pour obtenir des octets d'une chaîne, encodez-la.

>>> 'a string'.encode('ascii')
b'a string'
270
falsetru

Si la réponse de falsetr ne fonctionne pas, vous pouvez également essayer:

>>> b'a string'.decode('utf-8')
'a string'
58
kame