将带符号的 long 转换为 ASCII 二进制十六进制格式 python

Convert a signed long to ASCII binarized hexidecimal format python

给定一个 8 字节长有符号值,例如 3576757170468630901,我想将其转换为 ASCII 二进制十六进制:

例如:

>> hex(3576757170468630901).encode('ascii')
b'0x31a331b2319d3175'

我要找的格式如下:

b'\x31\xa3\x31\xb2\x31\x9d\x31\x75'

我不确定如何生成它?我应该打破每个块并自己转换吗?

在 python 3 中现在有 to_bytes() 这可能对这里有帮助:

v = 3576757170468630901
print(hex(v))
print(v.to_bytes(8, 'big'))

输出:

0x31a331b2319d3175
b'1\xa31\xb21\x9d1u'