0

在我的一个应用程序中,我打开二进制文件,并收到用户对某些文件的一些错误报告。当他们向我发送文件时,如果我在桌面上的 Gmail 上下载它们,该文件会很好地显示在我的应用程序中。当我使用原生 Android GMail 应用程序下载它们时,文件没有打开。

以下是原始文件的前 64 个字节,与从桌面下载时显示的一样(显示为 hexa):

03 00 08 00 D8 0C 00 00 01 00 1C 00 BC 02 00 00 
2D 00 00 00 00 00 00 00 00 01 00 00 D0 00 00 00 
00 00 00 00 00 00 00 00 10 00 00 00 25 00 00 00 
33 00 00 00 3D 00 00 00 44 00 00 00 49 00 00 00

以下是使用本机 GMail 应用程序下载的文件的前 64 个字节(再次为 hexa):

EF BF BD EF BF BD 2D EF BF BD 25 33 3D 44 49 4D 
52 63 72 76 EF BF BD EF BF BD EF BF BD EF BF BD 
EF BF BD EF BF BD EF BF BD EF BF BD EF BF BD EF 
BF BD EF BF BD 29 2E 3E 43 54 59 69 6E 7F EF BF

是否对该文件进行了某种压缩,还是 GMail 应用程序损坏了它?特别是如果你看第一个样本的末尾,你有以下字节 10、25、33、3D、44、49,它们也出现在第二个样本的第一行,这让我认为这是一个压缩某种意义上的。

4

1 回答 1

1

我不确定确切的来源,但是如果您查看http://www.cogsci.ed.ac.uk/~richard/utf-8.cgi?input=%F6&mode=char那么该模式是由于试图将文件解释为 UTF-8,进行替换,然后将文件写入为 UTF-8。

于 2013-11-07T17:54:46.847 回答