Charset及Buffer

J2SE对字符与字节间的双向转换提供了支持。这些支持在java.nio.Charset包中、

 

有了Charset,就不需要自己去做编码的编解码了。

 

在J2SE API文档中,有一句话:

A named mapping between sequences of sixteen-bit Unicode code units and sequences of bytes.

它有两层意思:

1。 java中的字符都是用16位的Unicode表示的;

2.  byte流还有编码信息;我们用什么编码去解释这个byte流?

 

J2SE提供了大量的编码,我们直接用它就可以了。查看支持的Charset的方法:

 

 

常用的有US-ASCII、UTF-16、UTF-16BE、UTF-16LE、UTF-8;

 

通过Charset可以构建encoder和decoder,也可以直接用Charset的encoder和decoder方法。实现CharBuffer和ByteBuffer间的双向转换。

 

ByteBuffer、charBuffer都是继承自Buffer;之前有分析过ByteBuffer,其实就是对Buffer的封装;同类的类还有DoubleBuffer、FloatBuffer、IntBuffer、LongBuffer和shortBuffer;

 

ByteBuffer与byte[]的关系和Integer和Int的关系类似,都是对一些常用功能做了一层封装;使用起来更方便。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值