在python 3.7中,当我执行以下语句时:
print(b'\x80\x51\x01\x00')
我明白了
b'\x80Q\x01\x00'
那是为什么?
答案 0 :(得分:1)
Python中的二进制字符串始终以b开头。
Q被解码是因为ascii中的\ x51或0x51是Q。
要打印二进制字符串,首先需要使用string.decode()对其进行解码:
print(b'\x51\x52\x53'.decode('ascii'))
对于您的字符串,由于0x80不是有效字符,因此无法将其解码为ASCII。 (ASCII仅上升到0x7F)