【发布时间】:2021-03-08 13:16:35
【问题描述】:
我有一个要转换为实际字节的字节表示。
例如注意双反斜杠,我正在使用文字反斜杠、x 和 2 位十六进制:
>>> foo=rb"foo\x00"
>>> foo
b'foo\\x00'
eval() 会这样做,但这样做很糟糕:
>>> eval(b"b\"" + foo + b"\"")
b'foo\x00'
我查看了 binascii,但没有看到转换此类数据的方法。这种编码叫什么?
没有编写自己的例程来执行此操作,有没有更简单的方法?
【问题讨论】:
-
你已经有了字节。只需将其写入文件,然后使用十六进制编辑器读取。在提示符和终端上,python 将为您写一个无法打印的字符的表示(作为转义)。 '\x00' 就是这样的字符之一。
-
需要以编程方式完成,希望能找到一种优雅的Python 3方式来做到这一点。我似乎不可能手工制作它。
标签: python-3.x encoding hex