2015-09-15 221 views
-4

我無法讀取二進制數據! 我的文件:讀取二進制數據

0000 a041 0000 a041 0000 a041 0000 803f 
9a99 0141 0000 7042 0000 3442 0000 1042 
6666 ce41 0000 803f 0000 c841 cdcc c841 
6666 e641 0000 7a44 0000 ca42 0000 3442 
0000 a841 0000 b441 3333 c341 9a99 993f 
cdcc ec40 0000 5c42 0000 3442 cdcc 1a42 
0000 d041 cdcc 4c3e 9a99 0f42 cdcc bc41 
9a99 0942 0080 8944 cdcc c442 0000 3842 
0100 0200 0300 0100 0100 

現在我讀這樣的:

$handle = fopen($file, "r"); 
$data = fread($handle, 2000); 

,但我有這樣的:

▒A▒A▒A▒▒▒ApB4BBff▒A▒? ?▒A▒▒▒Aff▒AzD▒B4B▒A▒A33▒A▒▒▒▒▒▒@ \B4B▒▒B▒

+0

你有什麼期望?你知道這個文件包含什麼嗎?你知道它是否壓縮,加密,還有其他嗎? –

+0

這是所有的整數數據,加密是'cp1251' –

+0

你試過解密了嗎? – Musa

回答

0

它的工作原理是這樣的:

$datas = unpack('f*', $data); 

在此之後我有:

20 
20 
20 
1 
8.1000003814697 
60 
45 
36 
25.799999237061 
1 
25 
25.10000038147 
28.799999237061 
1000 
101 
45 
21 
22.5 
24.39999961853 
1.2000000476837 
7.4000000953674 
55 
45 
38.700000762939 
26 
0.20000000298023 
35.900001525879 
23.60000038147 
34.400001525879 
1100 
98.400001525879 
46 
1.8367239361445E-40 
9.1839700053384E-41