2024-04-20 08:47:04 发布
网友
[0xBB, 0xA7, 0xF6, 0x9E]与[187, 167, 158]相同。所以没有特殊的“十六进制整数”形式之类的。
[0xBB, 0xA7, 0xF6, 0x9E]
[187, 167, 158]
但是可以将十六进制字符串转换为int:
>>> [int(x, 16) for x in ['BB', 'A7', 'F6', '9E']] [187, 167, 246, 158]
另见Convert hex string to int in Python
[int(x, 16) for x in L]
根据文本文件中的格式,直接转换可能更容易
>>> b=bytearray('BBA7F69E'.decode('hex'))
或者
>>> b=bytearray('BB A7 F6 9E'.replace(' ','').decode('hex')) >>> b bytearray(b'\xbb\xa7\xf6\x9e') >>> b[0] 187 >>> hex(b[0]) '0xbb' >>>
bytearray很容易转换为列表
>>> list(b) == [0xBB, 0xA7, 0xF6, 0x9E] True >>> list(b) [187, 167, 246, 158]
如果要更改列表的显示方式,则需要创建自己的列表类
>>> class MyList(list): ... def __repr__(self): ... return '['+', '.join("0x%X"%x if type(x) is int else repr(x) for x in self)+']' ... >>> MyList(b) [0xBB, 0xA7, 0xF6, 0x9E] >>> str(MyList(b)) '[0xBB, 0xA7, 0xF6, 0x9E]'
[0xBB, 0xA7, 0xF6, 0x9E]
与[187, 167, 158]
相同。所以没有特殊的“十六进制整数”形式之类的。但是可以将十六进制字符串转换为int:
另见Convert hex string to int in Python
根据文本文件中的格式,直接转换可能更容易
或者
bytearray很容易转换为列表
如果要更改列表的显示方式,则需要创建自己的列表类
相关问题 更多 >
编程相关推荐