如何使用“\ x”前缀将int转换为little endian hex?

时间:2018-01-23 14:09:10

标签: python hex

我想将十进制整数转换为\xLO\xHI十六进制字符串,同时保留“\ x”前缀,而不将可打印的ASCII转换为等效的ASCII。

我想要实现的目标:

>>> dec_to_hex(512)
"\x00\x02"

我在寻找答案时找到的以下解决方案不够好,我会解释原因:

这个没有放“\ x”前缀而不将它翻译成字节

>>> hex(512)
'0x200'

这个例子非常接近但接收十六进制(我需要小数)并将字符转换为ascii:

>>> from binascii import unhexlify
>>> unhexlify('65004100430005FF70000000')
'e\x00A\x00C\x00\x05\xffp\x00\x00\x00'

这个翻译ASCIIinto chars:

>>> import struct
>>> struct.pack('<h', 512)
'\x00\x02'
>>> struct.pack('<h', 97)
'a\x00'

0 个答案:

没有答案