我有一个要转换为定界十六进制的信息地址
info_address_original = b'002dd748'
我想要的是
info_address_coded = b'\x00\x2d\xd7\x48'
我尝试了this solution
info_address_original = b'002dd748'
info_address_intermediary = info_address_original.decode("utf-8") # '002dd748'
info_address_coded = bytes.fromhex( info_address_intermediary ) # b'\x00-\xd7H'
我得到
info_address_coded = b'\x00-\xd7H'
如何正确地将像这样的字节字符串转为定界十六进制?它在Python 2中隐式工作,但无法在Python 3中以我想要的方式工作。
答案 0 :(得分:0)
这仅是字节的表示形式。 '-'
与'\x2d'
相同。
>>> b'\x00\x2d\xd7\x48' == b'\x00-\xd7H'
True
答案 1 :(得分:0)
字节字符串的默认表示形式是显示所有ascii可打印字符的字符值和编码的\xhh
表示形式,其中hh
是字节的十六进制值。
这意味着b'\x00\x2d\xd7\x48'
和`b'\ x00- \ xd7H'是完全相同的包含4个字节的字符串。