【问题标题】:Interpret a byte array literal as hexadecimal byte array literal将字节数组文字解释为十六进制字节数组文字
【发布时间】:2017-07-14 15:26:08
【问题描述】:

鉴于文字b'a16568656C6c6f65776f726c64',我希望它被读取,例如第一个数字是'0xa1',第二个是'0x65',等等......

这是{"hello": "world"} 的 cbor 编码,但以下程序不会产生预期的输出:

import cbor2
cipher=b'a16568656C6c6f65776f726c64'
plain=cbor2.loads(cipher)
print(plain)

打印 1.
现在它解码为好像 'a' 是文字的第一个字符。

【问题讨论】:

  • 为什么不将cipher 初始化为字符串而不是bytes 对象?

标签: python json character-encoding cbor


【解决方案1】:

找到了我要找的帮手:binascii.a2b_hex

import cbor2
import binascii
cipher=b'a16568656C6c6f65776f726c64'
plain=cbor2.loads(binascii.a2b_hex(cipher))
print(plain)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-07
    • 2013-07-22
    • 1970-01-01
    • 2016-05-05
    • 2013-01-14
    • 1970-01-01
    • 2020-03-04
    • 2021-10-31
    相关资源
    最近更新 更多