Charset(字符集)
在java.nio.charset包中共提供了Charset、CharsetDecoder、CharsetEncoder、
CodeResult、CodingErrorAction五个类,均继承自Object类,其中Charset实现了Comparable接口,其它类
均为自身实现。
Java中的字符使用unicode编码,每个字符占用两个字节。字节码本身只是一些数字,放在正确的上下文中可以被正确的解析。向ByteBuffer中存放数据时需要考虑字符集的编码方式,从中读取时需要考虑字符集的解码。
要读和写文本需要分别使用CharsetDecoder(解码器)和CharsetEncoder(编码器)。
编码:百科中这样定义,编码(coding)是在一个主题或单元上为数据存储,管理和分析的目的而转换信息为编码值(典型地如数字)的过程。在密码
学中,编码是指在编码或密码中写的行为。n位二进制数可以组合成2的n次方个不同的信息,给每个信息规定一个具体码组,这种过程也叫编码。数字系统中常用
的编码有两类,一类是二进制编码,另一类是二—十进制编码。
(1)如何得到一个CharSet
?
在JDK源码中提供两种方式得到一个CharSet实例:
CharSet cs = CharSet.forName(“编码方式”);
CharSet cs = CharSet.defaultCharSet();
第一种方法返回一个指定字符格式的CharSet,第二种方法返回当前虚拟机默认的字符编码格式的CharSet。
(2)如何使用CharSet
?
得到一个CharSet实例后,我们需要创建一个编码器和一个解码器,使用下面方法进行创建:
CharSetDecoder decoder = cs.newDecoder();
CharSetEncoder encoder = cs.newEncoder();
接着我们把ByteBuffer传递给decoder进行编码,返回一个CharBuffer:
CharBuffer cb = decoder.decode(inputData);
然后我们可以使用encoder进行解码返回一个ByteBuffer:
ByteBuffer outputData = encoder.encode(cb);
接下来可以进行写等其它操作。
分享到:
相关推荐
java NIO的基本知识点学习笔记,不包含具体代码
JAVA NIO学习资料JAVA NIO学习资料
javaNIO学习笔记(csdn)————程序
java学习笔记1(java io/nio)设计模式
java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java...
Java NIO系列教程(一) Java NIO 概述 Java NIO系列教程(二) Channel Java NIO系列教程(三) Buffer Java NIO系列教程(四) Scatter/Gather Java NIO系列教程(五) 通道之间的数据传输 Java NIO系列教程(六)...
NULL 博文链接:https://zheng12tian.iteye.com/blog/1094811
IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。 所有语言运行时系统提供执行 I/O 较高级别的... (c 的 printf scanf,java 的面向对象封装 )
Java NIO英文高清原版
java NIO是 java New IO 的简称,在 jdk1.4 里提供的新 api 。 Sun 官方标榜的特性如下: – 为所有的原始类型提供 (Buffer) 缓存支持。 – 字符集编码解码解决方案。 – Channel :一个新的原始 I/O 抽象。 – 支持...
Nio学习笔记
Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据...
Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。 Java NIO: Channels and Buffers(通道和缓冲区) 标准的IO基于字节流和字符流进行操作的,...
Java NIO 深入探讨了 1.4 版的 I/O 新特性,并告诉您如何使用这些特性来极大地提升您所写的 Java 代码的执行效率。这本小册子就程序员所面临的有代表性的 I/O 问题作了详尽阐述,并讲解了 如何才能充分利用新的 I/O ...
java NIO.zip
java_nio学习文档
Java NIO学习资料+代码.zip
讲解了 JavaIO 与 JAVA NIO区别,JAVA NIO设计理念,以及JDK中java NIO中语法的使用
java nio 实现socketjava nio 实现socketjava nio 实现socketjava nio 实现socketjava nio 实现socket
java nio入门学习,两个pdfjava nio入门学习,两个pdf