我正在尝试将一个数字(任意大小,可能很长)转换为其相应的字节字符串。例如,输入数字1094795585(基数10),即0x41414141(基数16),应返回“\x41\x41\x41\x41”。
目前我有:
def number_to_bytes(number):
hex_string = hex(number).rstrip("L").lstrip("0x")
return bytearray.fromhex(hex_string.decode("hex"))
当我输入数字1094795585(0x41414141)时,得到错误“奇数长度字符串”。
当我输入数字1094795584(0x41414140)时,得到错误“在位置2的fromhex()arg中找到非十六进制数”。
这使我认为Python正在hex_string
中添加某种不可见的字符。是这样吗?
如何才能实现正确的转换?
目前没有回答
相关问题 更多 >
编程相关推荐