二进制数据读取


Binary data reading

我不能读取二进制数据!我的文件:

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);

但是我有这个:

一个▒▒▒▒?▒▒ApB4BBff▒▒?一个▒▒▒▒等于off▒AzD▒B4B▒▒A33一一个▒▒▒▒吗?@ ' B4B▒▒▒▒▒▒B

它是这样工作的:

$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