gpt4 book ai didi

Python 二进制转十六进制

转载 作者:太空狗 更新时间:2023-10-30 01:36:25 24 4
gpt4 key购买 nike

我正在尝试以字符串转义方式(例如\xFA\x1C ..)将 python 中的二进制文件(gzip Protocol Buffer 对象)转换为十六进制字符串。

我都试过了

repr(<mygzipfileobj>.getvalue())

还有

<mygzipfileobj>.getvalue().encode('string-escape')

在这两种情况下,我都得到了一个不是仅由十六进制字符组成的字符串。

\x86\xe3$T]\x0fPE\x1c\xaa\x1c8d\xb7\x9e\x127\xcd\x1a.\x88v ...

如何实现一致的十六进制转换,其中每个字节实际上都转换为\xHH 格式? (其中 H 代表有效的十六进制字符 0-9A-F)

最佳答案

您经常看到的\xhh 格式是一种调试辅助repr() 的输出应用于具有非ASCII 代码点。任何 ASCII 代码点都保留在原地,以留下可读信息。

如果您必须将字符串的所有 字符替换为\xhh 转义符,则需要手动执行此操作:

''.join(r'\x{0:02x}'.format(ord(c)) for c in value)

如果您需要引号,您也需要手动添加:

"'{0}'".format(''.join(r'\x{:02x}'.format(ord(c)) for c in value))

关于Python 二进制转十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49533040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com