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

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

java.nio包的分析(三)---Charset的理解_第1张图片

里面一个最最主要的类就是Charset类,看看里面有哪些变量
java.nio包的分析(三)---Charset的理解_第2张图片

他的构造函数为

java.nio包的分析(三)---Charset的理解_第3张图片

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

java.nio包的分析(三)---Charset的理解_第4张图片

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

java.nio包的分析(三)---Charset的理解_第5张图片

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

java.nio包的分析(三)---Charset的理解_第6张图片

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

java.nio包的分析(三)---Charset的理解_第7张图片

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

java.nio包的分析(三)---Charset的理解_第8张图片

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

java.nio包的分析(三)---Charset的理解_第9张图片

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

你可能感兴趣的:(编码,架构)