文本文件和字符集

Wu Jun 2020-01-02 13:43:49
Categories: > > Tags:

1 文本文件

获取平台的编码机制

Charset platformEncoding = Charset.defalutCharset();

2 行结束符

Window 中,文本文件希望每行末尾使用“\r\n”,UNIX只需“\n”。

可使用 printf 和 %n 来产生平台相关的行结束符

out.printf("Hello%nWorld%n");

3 控制台

切换控制台字符集

java -Dfile.encoding=UTF-8 MyProg

shell

chcp 65001

4 日志文件

java.unit.logging 库的日志消息会使用 FileHandler 处理,配置文件

java.unit.logging.FileHandler.encoding=UTF-8

5 UTF-8字节顺序标志

可在文件第一个字符添加“文件字节顺序标志”U+FEFF,如果读入文本文件时,开头碰到了 U+FEFF,就忽略它。

6 源文件的字符编码

JDK 工具 native2ascii 可将非 ASCII 字符转为 ASCII 码