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

2 投票
1 回答
1835 浏览
提问于 2025-04-17 02:47

我在用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 个回答

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

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答