如何生成.txt文件作为UTF-8编码?

时间:2017-05-10 07:11:16

标签: java servlets utf-8

我想编写一个代码来转换java.I中编码的UTF-8,创建" a.txt"文件中只包含" a.txt"中的英文字符。 file.While generate,它给我ANSI编码版本,但我需要UTF-8编码版本。

注: - 文件不包含任何特殊字符,仅包含ASCI值。

我写了下面的代码。

writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8")); 
writer.write(content);

1 个答案:

答案 0 :(得分:0)

没有ANSI编码(对于前128个字符为ASCII的单字节字符集,这是一个不精确的术语);如果你的文件只包含ASCII(字符0 - 127),那么如果你使用UTF-8或其中一个' ANSI'编码。

考虑到编辑推断字符集(或更好:猜测(!)),并且只有ASCII 0 - 127的UTF-8与实际ASCII或“ANSI”之一无法区分。编码,这完全是预期的

这意味着如果你用UTF-8编写一个文件 - 例如 - 只有"ABC",它也是有效的ASCII,Windows-1252,ISO-8859-x和任何其他需要的字符集ASCII作为起点。编辑器无法确定实际的字符集是什么,只报告ANSI。

换句话说:你的代码工作正常;只是你的编辑器的启发式猜测错误的字符集。最后,文本文件只是一个字节流,只有在应用正确的字符集时才有意义;字符集未在文件本身中指定。

PS:你问题中的代码有一个拼写错误,因为它引用了UTF-18,它不存在。

相关问题