-1

我正在编写一个 Phonegap 应用程序,该应用程序在 /assets/www/ 文件夹中包含一个 zip 存档。当应用程序启动时,文件被复制到文件系统根目录。当我尝试读取标题时,文件似乎已被修改。

这是我电脑上的 hexdump:

# hexdump -C Archive.zip| more
00000000  50 4b 03 04 14 00 00 00  08 00 4c b7 b1 40 84 1d  |PK........L..@..|
00000010  9b 1a 21 00 00 00 a0 01  00 00 0a 00 1c 00 73 61  |..!...........sa|

这是 /sdcard/ 中文件的 hexdump:

hexdump -C Archive.zip| 更多的

00000000  50 4b 03 04 14 00 00 00  08 00 4c ef bf bd ef bf  |PK........L.....|
00000010  bd 40 ef bf bd 1d ef bf  bd 1a 21 00 00 00 ef bf  |.@........!.....|
00000020  bd 01 00 00 0a 00 1c 00  73 61 6d 70 6c 65 2e 74  |........sample.t|

休斯顿!我们出现了问题!

那么,谁动了我的奶酪?发生了什么?由于 .apk 文件是压缩文件夹,因此将 zip 文件添加到 zip 文件中是否存在潜在的破坏性副作用?

4

2 回答 2

2

Android 使用特殊的 zip 对齐方式。这可能是你的问题。

于 2012-05-20T07:55:03.397 回答
1

您的应用程序将 zip 文件从(可能)Latin-1 转换为 UTF-8。

ef bf bd是用于替换字符的 UTF-8 代码。

于 2013-11-07T17:55:03.083 回答