最近在试着解C语言写好的二进制档案,
C的程式码大致如下:
//写档
unsigned char a,b;
a = 0x11;
b = 0x22;
FILE *fp = fopen("test.dat","wb");
fwrite(&a, sizeof(unsigned char), 1, fp);
fseek(fp,2,SEEK_SET);
fwrite(&b, sizeof(unsigned char), 1, fp);
fclose(fp);
//解档印出c=0x11 d=0x22
fp = fopen("test.dat","rb");
nsigned char c,d;
fread(&c,sizeof(unsigned char),1,fp);
fseek(fp,2,SEEK_SET);
fread(&d,sizeof(unsigned char),1,fp);
printf("c=0x%x d=0x%x\n",c,d);
fclose(fp);
因现在想使用Python做解档的部分,把正确数值解出来,
虽然上网找了许多方式,但在python仍只解出0x11的数值,
想询问是否有相关的方法或关键字可以提供解惑,
谢谢!
Python try的code:
with open('test.dat', 'rb') as fh:
patch1 = fh.read()
print(patch1)
打印出来的结果为b'\x11\x00"',
是否需再搭配seek?
因尚为初学者,针对用法还不甚熟悉,
还请各位大大指点迷津,谢谢!