Java中的编码和字符IO(Reader/Writer)

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方法与运行时编码没有关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值