查看python sh上的十六进制字符串

2024-05-12 19:27:37 发布

您现在位置:Python中文网/ 问答频道 /正文

在Scapy中,我取了几个包的前28个字节,并将每个字节保存为一个十六进制字符串。每当我想将这些字符串全部打印在一起(它们保存在列表中),就会发生以下情况:

>>> print myStrings[0]
['E\x00\x00W\x00\x00@\x00\x01\x11\xe7-\x8a`t\x86\xd5\x92\xbd\xef0\x1a\xa4\xe8\x00C\xe2k', ['E\x00\x00W\x00\x00@\x00\x01\x11\xe7-\x8a`t\x86\xd5\x92\xbd\xef0\x1a\xa4\xe8\x00C\xe2k']]

但是如果我想分别打印每个字符串:

^{pr2}$

MyStrings是列表列表:[[string1, [string2,string3,...], ...]

这是怎么回事?在


Tags: 字符串列表字节x86xbdx00x01x11
1条回答
网友
1楼 · 发布于 2024-05-12 19:27:37

当打印一个列表时,Python调用list.__str__,它对它的每个项调用repr。在

打印字符串时,Python直接输出字符串。在

>>> print "\x11"
�
>>> print ["\x11"]
['\x11']
>>> print repr("\x11")
'\x11'

字符串上的repr方法将不可打印字符转换为其十六进制表示形式。在

相关问题 更多 >