java.nio包的分析(三)---Charset的理解

       前面分析完2个主要的包类,现在我们来揭开Java.nio的最后块神秘的知识点,Charset编码类,他的功能主要是实现字节与Unicode之间的转码转换。同样先来看看他的包结构。,结构比较单一和简单。


里面一个最最主要的类就是Charset类,看看里面有哪些变量

他的构造函数为


Charset类中也有缓存字节本身的类型


我们来看看他最主要的一个功能encode编码是如何实现的


可以从上图中我们知道编码调用的方法其实是CharsetEncoder的encode方法,然后我们往里找


再来其中核心的encode方法,方法比较长


decode与此类似,就不介绍了,下面我们看看其中涉及到一个CoderResult结果类


好了,还有最后一个提供者类,在Charset.spi中,


具体什么时候用上,我好像没看到。至此java.nio分析到此结束了,希望能给大家带来收获,不过有些地方我也是比较难以理解的

原文地址:https://www.cnblogs.com/bianqi/p/12184315.html