Python二进制转换为hex

2024-09-30 08:36:56 发布

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

我试图将python中的二进制文件(gzip协议缓冲区对象)以字符串转义的方式(例如.\xFA\x1C..)转换为十六进制字符串。在

我都试过了

repr(<mygzipfileobj>.getvalue())

以及

^{pr2}$

在这两种情况下,我最终得到的字符串不是由十六进制字符组成的。在

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

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


Tags: 文件对象字符串协议方式二进制字符缓冲区
1条回答
网友
1楼 · 发布于 2024-09-30 08:36:56

您经常看到的\xhh格式是一个调试助手,它是应用于具有非ASCII码位的字符串的repr()的输出。任何ASCII码位都保留在适当的位置,以留下可读的信息。在

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

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

如果需要引用,则还需要手动添加:

^{pr2}$

相关问题 更多 >

    热门问题