【发布时间】:2019-11-19 18:12:27
【问题描述】:
我正在尝试读取包含一些日文字符的文件。
RandomAccessFile file = new RandomAccessFile("japanese.txt", "r");
String line;
while ((line = file.readLine()) != null) {
System.out.println(line);
}
它返回一些乱码而不是日语。 但是当我转换编码时,它会正确打印。
line = new String(line.getBytes("ISO-8859-1"), "UTF-8");
这是什么意思?文本文件是否采用 ISO-8859-1 编码?
$ file -i japanese.txt 返回以下内容:
japanese.txt: text/plain; charset=utf-8
请解释一下它明确要求文件从拉丁语 1 转换为 UTF-8?
【问题讨论】:
-
@RuelosJoel 为什么默认不采用 UTF-8?
标签: java encoding utf-8 iso-8859-1