如何解决如何拆分和转换十六进制字符串?
我必须取一个十六进制字符串并转换它。
例如。我得到这个字符串 1101222233334444555500206666666677777777889900200012ff1f4412ff1f3720030057010000
。
我必须把它拆分成这个 11 01 22 22 33 33 44 44 55 55 00 20 66 66 66 66 77 77 77 77 88 99 00 20 00 12 ff 1f 44 12 ff 1f 37 20 03 00 57 01 00 00
并转换它。
编辑:从十六进制到十进制。
解决方法
bytes
对象有一些鲜为人知的方法:
>>> s='1101222233334444555500206666666677777777889900200012ff1f4412ff1f3720030057010000'
>>> bytes.fromhex(s) # gives a byte string
b'\x11\x01""33DDUU\x00 ffffwwww\x88\x99\x00 \x00\x12\xff\x1fD\x12\xff\x1f7 \x03\x00W\x01\x00\x00'
作为字节,您可以获得每个字节的单独值,或将整个内容转换为列表:
>>> b=bytes.fromhex(s)
>>> b[0]
17
>>> b[1]
1
>>> list(b)
[17,1,34,51,68,85,32,102,119,136,153,18,255,31,55,3,87,0]
并且可以转换回来:
>>> b.hex() # converts back to a hex string
'1101222233334444555500206666666677777777889900200012ff1f4412ff1f3720030057010000'
>>> b.hex(sep=' ') # adds a separator
'11 01 22 22 33 33 44 44 55 55 00 20 66 66 66 66 77 77 77 77 88 99 00 20 00 12 ff 1f 44 12 ff 1f 37 20 03 00 57 01 00 00'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。