Python'u buluyorum struct.unpack()
, diğer programlar tarafından oluşturulan ikili verileri okumak için oldukça kullanışlıdır.python, ikili dosyadan 16 bayt uzun çift okuyor
Soru: nasıl okunur? çift bir ikili dosya üzerinden 16-bayt uzunluğunda?
Aşağıdaki C kodu, sırasıyla 4 baytlık yüzer, 8 baytlık çift ve 16 baytlık uzun çifte kullanarak, ikili bir dosyaya 1.01 üç kez yazar.
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'da, float'ı okuyabilir ve sorun olmadan çifte yapabilirim.
file=open('test_bin.bin','rb')
struct.unpack('<fd',file.read(12)) # (1.0099999904632568, 1.01) as expected.
Ben modülünde struct
format character section 16 baytlık uzun ikizi açıklamasını bulmuyorum.
ctypes uzun double – dawg