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
读取为非十六进制字符串,您必须反转十六进制才能修复此问题
在尝试将十六进制值写入 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
读取为非十六进制字符串,您必须反转十六进制才能修复此问题