我有一个使用zlib函数压缩的传入流,但我不能告诉压缩数据的结尾,所以我在获取数据时遇到了很多麻烦。
我也有一个源代码片段,它在AS3 flash中被未压缩,这应该足以让我弄清楚,但我在一个损失。
包含两个文件:
http://falazar.com/projects/irnfll/version4/test//stackoverflow/as3_code.as.txthttp://falazar.com/projects/irnfll/version4/test//stackoverflow/bin_data_file
二进制数据的片段,以及我所知道的:
00 00 02 34 2c 02 31 78 5e ed dc cd 6e da 40 a5
21 19 40 f5 f2 c4 b7 e9 18 85 e1 5b 89 66 3d 42
31 95 90 cd 15 74 99 55 37 51 14 59 c9 a8 8c 54
0234似乎是一个大小标记- 564
2c = 44,代码匹配as3 COMMAND_WORLD_DATA,这是ok
0231另一个尺寸标记,总是比上面小3
785e -是zlib压缩最弱压缩的头标记,ZLIB_ENCODING_DEFLATE级别4
后面还有789c,这是另一个更大的压缩块
我需要解压缩这两个文件以便项目继续进行,谢谢你的帮助。
在脚本中也提到了双端转换,我不确定是否需要处理这个问题。
我写了几个脚本来尝试解决这个问题,包括一个php代码片段,它砍掉了结束直到和循环试图解压缩,但没有运气。falazar.com/projects/irnfll/version4/test//stackoverflow/php_test.php.txt
理想的解决方案在php或c#,但任何我能看到的工作将翻译成另一种语言很容易。
(使用免费十六进制编辑器nero查看二进制文件)
你是说zlib。
使用PHP的gzuncompress()
从每个zlib头开始(例如789c
)