我想将十进制整数转换为\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'