端口unhexlify从Python 2.7到Python 3.5

时间:2016-12-14 12:28:47

标签: python python-2.7 python-3.x

我对Python不熟悉,我需要从2.7移植到3.5。 在2.7:

>>> unhexlify( '2FE2' )[0]
'/'

在3.5:

>>> unhexlify( '2FE2' )[0]
47

我尝试过使用:

>>> str(unhexlify( '2FE2' ))[0]
'b'

或:

>>> bytes.fromhex('2FE2')[0]
47
>>> decode_hex('2FE2')[0][0]
47

我无法获得正确的ascii。我碰到了Python使用的表示:b' ...或总是得到一个int

由于

1 个答案:

答案 0 :(得分:2)

unhexlify返回一个bytes对象,索引到bytes对象会在Python 3中生成一个整数(bytes对象包含0范围内的整数序列-255)。

如果您想获得另一个bytes对象,请改用切片:

unhexlify('2FE')[:1]

这适用于Python 2和3。