【发布时间】:2012-04-10 17:06:54
【问题描述】:
我需要以编程方式将一组 *nix 脚本的编码从 Java 更改为 UTF-8。我不会给他们写任何东西,所以我试图找到最简单|最快的方法来做到这一点。文件不是太多,也不是那么大。我可以:
- 使用设置为编码的 UTF-8 的 OutputStream“写入”一个空字符串
- 由于我已经在使用 FileUtils(来自 Apache Commons),我可以读取|写入这些文件的内容,将 UTF-8 作为编码传递
没什么大不了的,但是以前有人遇到过这种情况吗?这两种方法有什么缺点吗?
【问题讨论】:
-
必须读取和重写整个文件,除非是不需要初始 BOM 的普通 7 位干净 ASCII 文件(等)。 BOM 将转换流以及任何编码更改。
-
但是我相信 Unix 的默认编码是 UTF-8。你的脚本的编码是什么。
-
@user384706 也许说非 BOM 流被许多“文本”应用程序视为 UTF-8 更合适......“默认编码”更适合在关系中谈论到特定的语言/库/API。
-
脚本随 ISO-8859-1 一起提供。 @pst 感谢您澄清选项 1 不是一个选项 :)
-
@pst 插入答案,以便我们可以将其从未回答列表中删除