【发布时间】:2010-06-10 21:25:28
【问题描述】:
我有一个文件包含一些非 utf8 字符(如“ISO-8859-1”),所以我想将该文件(或读取)转换为 UTF8 编码,我该怎么做?
代码是这样的:
File file = new File("some_file_with_non_utf8_characters.txt");
/* some code to convert the file to an utf8 file */
...
编辑:放一个编码示例
【问题讨论】:
-
非UTF8?想缩小一点吗?一旦你知道输入编码就很容易,如果你不知道,基本上是不可能的。
-
一些注意事项,文件很大(比如 1GB),所以我不能把它们放在 String 对象中...
-
您的文件编码是什么?如果您使用的是 Linux 或 OS X(以及其他 Unx),您只需键入:*file some_file,它就会告诉您编码。顺便说一句,如果你在 Unx(至少 Linux 和 OS X)上,你应该有 *iconv 命令行。 “man iconv” 说:“将给定文件的编码从一种编码转换为另一种编码”,这可以说在 1GB 文件上比自写 Java 做得更好实用程序。请注意,UTF-8 编码可以表示每一个 Unicode 代码点,因此说文件 “有一些非 utf8 字符” 听起来很可疑......
-
@NoozNooz42:应用程序将在win32和unix/linux下运行