Java中的Character
https://docs.oracle.com/javase/tutorial/i18n/text/charintro.html
根据官网的描述,java中的Character(字符)都是16bit的Unicode编码(本文暂不考虑unicode超集)。
Java编译时编码与运行时编码
java代码文件可以使用任意编码,但是在编译的时候要告诉java编译器所使用的编码,不然会编译失败。
编译的时候,编译器将源代码文件中的字符转成Charcater。
java可以通过IO向Console或者文件输出Character,如果文件的编码不是16bit Unicode,也就是与Character编码不一致,
并不需要在代码中手动转码。只需指定运行时编码-Dfile.encoding = xxx
https://stackoverflow.com/questions/361975/setting-the-default-java-character-encoding
java I/O中的字符IO
字符IO,Reader/Writer,操作Character的IO。
比如Reader中的 read() : int 方法返回的值区间 0 - 65533(0xFFFD),代表一个16bit Unicode。
这时候不要被运行时编码所影响。read方法与运行时编码没有关系。