考虑到类型bytes
不一定是 string,如何才能看到bytes
对象的实际字节(1 和 0,或此类的八进制/十六进制表示)?尝试print()
或pprint()
这样的对象会导致打印对象的字符串表示形式(假设某些编码,可能是 ASCII 或 UTF-8),前面有b
字符以指示数据类型实际上是字节:
$ python3
Python 3.2.3 (default, Oct 19 2012, 19:53:16)
>>> from pprint import pprint
>>> s = 'hi'
>>> print(str(type(s)))
<class 'str'>
>>> se = s.encode('utf-8')
>>> print(str(type(se)))
<class 'bytes'>
>>> print(se)
b'hi'
>>> pprint(se)
b'hi'
>>>
请注意,我专门指的是 Python 3。谢谢!