通过十六进制字符串

时间:2016-11-08 23:21:41

标签: python hex

我有这样的二进制字符串:

 some_bytes = b'Q\x00\xfdM\xf6\x02\x14M\x03'

我想迭代这个字符串的元素(不必打印,可以用x做一些动作):

 for x in some_bytes:
     print (x, end=' ')

上面的代码打印81 0 253 77 246 2 20 77 3

但我希望看到\Q \x00 \xfd M \xf6 \x02 \x14 M \x03

我该怎么办?我无法chr(),因为它会为UnicodeEncodeError提升\xfd

1 个答案:

答案 0 :(得分:0)

>>> for x in some_bytes:
...     print('{!r}'.format(bytes([x]))[2:-1], end=' ')
...     
...     
Q \x00 \xfd M \xf6 \x02 \x14 M \x03