问题描述
我遇到了一个二进制文件(我猜),我尝试使用脚本生成该文件,所以也许我做错了,但是到目前为止它仍然有效。现在我陷入困境,感觉不到我能理解(作为二进制文件的菜鸟,无法正确地将问题命名为Google的任何答案)。
我将“目标文件”读取为二进制文件,发现它就像许多“ \ x00”,中间有多个数值(例如“ \ x05”)。
我的工作是这样的:
def myEncode(a):
if a == 2: A = "\x02"
elif a == 5: A = "\x05"
return(A)
line = "\x00\x00\x01" + myEncode(5) + "\x00"
phrase = bytearray(line.encode("utf-8"))
f = open("outfile","ab")
f. write(phrase)
f.close()
-
如果我可以使用hex()将整数5转换为“ \ x05”,那将对我有很大帮助,但是我得到的却是“ 0x5”。以这种方式添加到文件的文件无效。我确实需要(出于某种原因)使其看起来像“ \ x”和2位数字
-
更重要:我需要添加十进制128(十六进制“ \ x80”)或更大。由于我无法理解的原因,它总是插入“ \ xc2 \ x80”。当我使用原始程序创建相同文件时,它只会添加此“ \ x80”,因此我猜它必须以某种方式工作,但我不知道为什么。
感谢您的任何建议,提示或指导。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)