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

发布于 2024-12-06 00:08:38 字数 445 浏览 1 评论 0原文

我正在从 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。

我该怎么做?

I was reading in a file from Python. I opened this file and used 'rb' to read the bytes. When I read them off, say:

f.read(1)

it would output something like this

b'\x50'

So my question is, when I tried a longer string like this

f.read(24)

I got this:

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

You notice that there are ASCII characters mixed into the hex. I would want the R to be displayed as \x52.

How do I do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一花一树开 2024-12-13 00:08:38
print(''.join('\\x%02x' % c for c in B))
print(''.join('\\x%02x' % c for c in B))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文