hanfeisun hanfeisun - 7 months ago 12
Python Question

How to convert 'binary string' to normal string in Python3?

For example, I have a string like this(return value of

subprocess.check_output
):

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


Whatever I did to it, it is always printed with the annoying
b'
before the string:

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


Does anyone have any ideas about how to use it as a normal string or convert it into a normal string?

Answer

Decode it.

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

To get bytes from string, encode it.

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