python将十六进制二进制转换为字符串

新手上路,请多包涵

I am using python3.5 and I wish to write output I get in hexadecimal bytes ( b'\x00' , b'\x01' etc) to python strings with \x00 -> 0\x01 -> 1 我觉得它可以很容易地以一种非常 pythonic 的方式完成,但是半小时的谷歌搜索仍然让我认为最简单的方法是手工制作一个带有映射的字典(我实际上只需要它从 0 到 7)。

 Input    Intended output
b'\x00'  0 or '0'
b'\x01'  1 or '1'

等等

原文由 fbence 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 486
2 个回答

不确定你是否想要这个结果,但试试看

output = [str(ord(x)) for x in output]

原文由 Jaroszewski Piotr 发布,翻译遵循 CC BY-SA 3.0 许可协议

你只是在寻找这样的东西吗?

 for x in range(0,8):
    (x).to_bytes(1, byteorder='big')

输出是:

 b'\x00'
b'\x01'
b'\x02'
b'\x03'
b'\x04'
b'\x05'
b'\x06'
b'\x07'

或者反过来:

 byteslist = [b'\x00',
b'\x01',
b'\x02',
b'\x03',
b'\x04',
b'\x05',
b'\x06',
b'\x07']

for x in byteslist:
    int.from_bytes(x,byteorder='big')

输出:

 0
1
2
3
4
5
6
7

原文由 Andrew B 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题