在Python二进制字符串中,以下含义是什么?

时间:2018-10-01 04:18:23

标签: python python-3.x

希望这是一个快速的问题/答案,但是对Google来说很难。

如果我有这个:

b'\xff\xfe\x03\x00\x07\xff0\x00[\x0f\xefm'

十六进制后面的“多余”字符对以下四个值意味着什么:

\xff0 \x00[ \x0f \xefm

任何帮助将不胜感激!注意:这是Python 3.5。

1 个答案:

答案 0 :(得分:1)

>>> chars = b'\xff\xfe\x03\x00\x07\xff0\x00[\x0f\xefm'
>>> [chr(b) for b in chars]
['ÿ', 'þ', '\x03', '\x00', '\x07', 'ÿ', '0', '\x00', '[', '\x0f', 'ï', 'm']

比较字符串和结果列表,一次比较一个字符。例如,您可以看到\xff变成了“字符” ÿ,而[代表了两者。

如果您想获得更具可读性的表示形式,请使用hex encoding

>>> chars.hex()
'fffe030007ff30005b0fef6d'

这表明[也可以表示为\x5b(恰好在\x0f字节之前)。