How to convert 'binary string' to normal string in Python3?
463,044
Solution 1
Decode it.
>>> b'a string'.decode('ascii')
'a string'
To get bytes from string, encode it.
>>> 'a string'.encode('ascii')
b'a string'
Solution 2
If the answer from falsetru didn't work you could also try:
>>> b'a string'.decode('utf-8')
'a string'
Solution 3
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
.
Comments
-
Hanfei Sun almost 2 years
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?