我下载通过FTP一些文件与中国的名称(BIG5编码),以及软件显示这些文件作为垃圾(FTP不能处理任何其他编码于ASCII和UTF-8,作为少标准兼容的)。

给一名与混乱的人物,我可以修复的编码,并获得适当的名字符串鉴于我已经知道来源编码?将FTP客户错误解释BIG5为UTF-8插入字节转换回来BIG5困难?

我的建议的步骤(Java):1.获得混乱的文件使用的文件的对象。2.getbytes使用UTF-8。3.创建一个新的字符串中使用的那些字节BIG5。4.写的解码文件回来的文件。

将上述方法的工作?

有帮助吗?

解决方案

不是每个字节的序列是一个有效的ASCII或UTF-8串所以它是相当可能有一些字节将已被丢弃,转化为 替字, 或否则不可逆转的损坏。因此它看起来像你将不能够检索的原始文件,如果他们已被修改的软件成为正确形成UTF-8"或"ASCII.

你可能会很幸运能够得到一定百分比的原始符回,在那里他们只是碰巧有效BIG5和有效UTF-8,但我怀疑,你将能够恢复整个文件。

你可以后的几个例子您混乱的文件(为原字节的编码在hex)得到一个更明确的答案。这样,我们可以清楚地看到什么损坏。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top