Python 写入不正确的十六进制值

Python writing incorrect hex values

在尝试将十六进制值写入 ascii (\xdd\xba\x01\x10) 时,我发现其中两个值被更改 (\xdd\xba)。

而不是输出 ݺ 或 \xdd\xba\x01\x10 输出将是 n \x77a\x01\x10

我认为问题可能在于它是如何分配给测试变量的,但使用包也是如此。

test1 = "\xdd\xba\x01\x10" 
test2 = struct.pack("<I", 0x1001badd)

两者都会导致写入不正确的十六进制值。

我已通过添加空格并在写入文件时清理它来临时修复它。

test1 = "\xdd \xba\x01\x10" 
cleanup = (test1)
file.write(cleanup.replace(" ", ""))

Python版本为2.7.2 OS 是 WINXP

不,我不能使用 Python3 或更新版本的 Windows

有人知道为什么会这样吗?

反转值,程序将 d 读取为非十六进制字符串,您必须反转十六进制才能修复此问题