2017-07-14 35 views
0

鉴于字面b'a16568656C6c6f65776f726c64'我想它作为第一个数字被读取例如是“0xa1”,第二个是“0x65”,等...解释一个字节数组字面为十六进制字节数组字面

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

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

打印1.
现在它解码,就好像“一”是字的第一个字符。

+0

为什么不初始化'cipher'作为一个字符串,而不是一个'bytes'对象? –

回答

0

找到我一直在寻找帮手:binascii.a2b_hex

import cbor2 
import binascii 
cipher=b'a16568656C6c6f65776f726c64' 
plain=cbor2.loads(binascii.a2b_hex(cipher)) 
print(plain) 
相关问题