猿问

如何查看Python3 <class'bytes'>对象的字节?

考虑到该bytes类型不一定是一个字符串,一个如何可以看到的实际字节(一和零,或八进制/十六进制的这样的表示)bytes对象?尝试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'

>>>

请注意,我专门指的是Python3。谢谢!


蓝山帝景
浏览 320回答 3
3回答

catspeake

使用bin,oct或hex和访问使用括号标记字节:>>> print(hex(se[0]))0x68>>> print(hex(se[1]))0x69显然一个周期会更好:for a_byte in se:&nbsp; &nbsp; print (bin(a_byte))

慕勒3428872

使用Python字符串格式显示字节的十六进制值:>>> se = b'hi'>>> ["{0:0>2X}".format(b) for b in se]['68', '69']

隔江千里

>>> s = b'hi'>>> sb'hi'>>> print(s)b'hi'>>> for i in s:&nbsp; &nbsp; print(i)104105>>> y = 'hi'>>> for i in y:&nbsp; &nbsp; print(i)hi>>>&nbsp;
随时随地看视频慕课网APP

相关分类

Python
我要回答