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?
Decode it.
>>> b'a string'.decode('ascii')
'a string'
To get bytes from string, encode it.
>>> 'a string'.encode('ascii')
b'a string'
If the answer from falsetru didn't work you could also try:
>>> b'a string'.decode('utf-8')
'a string'
Please, see oficial encode()
and decode()
documentation from codecs
library. utf-8
is the default encoding for the functions, but there are severals standard encodings in Python 3, like latin_1
or utf_32
.