我发现
python struct.unpack()非常方便读取其他程序生成的二进制数据.
问题:如何从二进制文件中读取16字节长的双倍内容?
以下C代码将1.01写入三次到二进制文件,分别使用4字节浮点数,8字节双精度数据块和16字节长双精度值.
FILE* file = fopen("test_bin.bin","wb");
float f = 1.01;
double d = 1.01;
long double ld = 1.01;
fwrite(&f, sizeof(f),1,file);
fwrite(&d, sizeof(d),1,file);
fwrite(&ld, sizeof(ld),1,file);
fclose(file);
在python中,我可以读取float和double,没有问题.
file=open('test_bin.bin','rb')
struct.unpack('
我在模块struct format character section中找不到16字节长双精度的描述.