2017-07-14 4 views
0

Étant donné le b'a16568656C6c6f65776f726c64' littéral Je voudrais qu'il soit lu comme le premier chiffre est « 0xA1 », la deuxième est « 0x65 », etc ...Interpréter un tableau d'octets littéral tableau d'octets hexadécimal littéral

C'est un codage DDDC de {"hello": "world"} mais le programme suivant ne produit pas le résultat attendu:

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

impression 1.
en ce moment, il décode comme « a » est le premier caractère du littéral.

+0

Pourquoi ne pas 'cipher' comme initialiser une chaîne au lieu d'un' bytes' objet? –

Répondre

0

trouvé l'aide que je cherchais: binascii.a2b_hex

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