【发布时间】:2020-11-20 15:05:59
【问题描述】:
我正在尝试将字符串转换为十六进制列表:
myString = b'abcdefghijh'
hex = codecs.encode(myString, "hex")
print(hex)
print(list(hex))
但是这给了我结果:
b'6162636465666768696a68'
[54, 49, 54, 50, 54, 51, 54, 52, 54, 53, 54, 54, 54, 55, 54, 56, 54, 57, 54, 97, 54, 56]
谁能告诉我为什么 2 不匹配?
【问题讨论】:
-
他们为什么会匹配?虽然
bytes以类似字符串的方式显示,但当您迭代bytes对象时,您会得到单独的整数。 -
好的,谢谢。那么如何将字节对象拆分为十六进制列表?
-
完美匹配:
bytes.fromhex(b'abcdefghijh'.hex()) -
您可以使用
map将整数列表映射到hex列表 -> `lst = list(map(hex, lst))'
标签: python python-3.x codec