将ASCII字符转换为十六进制转义字符串

时间:2011-09-21 21:12:17

标签: python struct

我正在阅读Python的文件。我打开这个文件并使用'rb'来读取字节。当我把它们读出来时,请说:

f.read(1)

它会输出类似这样的东西

b'\x50'

所以我的问题是,当我尝试更长的字符串时

f.read(24)

我明白了:

b'R\x00S\x00S\x00Q\x00S\x00O\x00N\x00P\x00S\x00M\x00R\x00P\x00

您注意到十六进制中混有ASCII个字符。我希望R显示为\ x52。

我该怎么做?

1 个答案:

答案 0 :(得分:6)

print(''.join('\\x%02x' % c for c in B))