首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python二进制转换为十六进制

Python二进制转换为十六进制
EN

Stack Overflow用户
提问于 2016-05-19 07:32:28
回答 1查看 1.3K关注 0票数 2

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

我都试过了

代码语言:javascript
复制
repr(<mygzipfileobj>.getvalue())

以及

代码语言:javascript
复制
<mygzipfileobj>.getvalue().encode('string-escape')

在这两种情况下,我结束了一个字符串,它不是由HEX字符组成的。

代码语言:javascript
复制
\x86\xe3$T]\x0fPE\x1c\xaa\x1c8d\xb7\x9e\x127\xcd\x1a.\x88v ...

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-19 07:39:37

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

如果必须使用all字符替换为\xhh转义符的字符串,则需要手动这样做:

代码语言:javascript
复制
''.join(r'\x{0:02x}'.format(ord(c)) for c in value)

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

代码语言:javascript
复制
"'{0}'".format(''.join(r'\x{:02x}'.format(ord(c)) for c in value))
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37316698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档