我有一个非负整数,我想有效地将它转换为包含相同数据的大端字符串。例如,int 1245427(即 0x1300F3)应生成一个长度为 3 的字符串,其中包含三个字节值分别为 0x13、0x00 和 0xf3 的字符。
我的整数是 35 (base-10) 位数。
我该怎么做?
最佳答案
在 Python 3.2+ 中,您可以使用 int.to_bytes :
如果你不想指定尺寸
>>> n = 1245427
>>> n.to_bytes((n.bit_length() + 7) // 8, 'big') or b'\0'
b'\x13\x00\xf3'
如果您不介意指定尺寸
>>> (1245427).to_bytes(3, byteorder='big')
b'\x13\x00\xf3'
关于python - 将 Python int 转换为大端字节串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/846038/