java charset
来源:互联网 发布:linux开机启动shell 编辑:程序博客网 时间:2024/06/11 00:59
在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 Charset
- java charset
- Java Charset的使用
- Java NIO--Charset
- Java-Charset(字符集)
- Java-Charset(字符集)
- charset
- charset
- charset
- CharSet
- Java学习之Charset类
- scala:java.nio.charset.MalformedInputException
- NIO中,java.nio.charset.MalformedInputException
- 读文件异常:java.nio.charset.MalformedInputException
- Java NIO中Charset类源码
- 利用java.nio.charset.CharsetDecoder自动识别字符集
- 利用java.nio.charset.CharsetDecoder自动识别字符集
- 利用java.nio.charset.CharsetDecoder自动识别字符集
- struts2单例多例问题以及spring整合的问题
- RMQ 求区间最值
- 视频播放
- Visible Trees 【容斥】
- 摄像头
- java charset
- 写入视频
- keras 实现BP神经网络
- word开发
- HTML 2017.07.20
- 标准电阻的阻值表
- hadoop on yarn and spark on yarn
- 【微信小程序】微信小程序掉进的坑之与后台数据交互
- (81)System类、Runtime类、Date类、Calendar类、Math类、Api中继承关系解释、Random