模块
java.base
Package java.nio.charset
定义字符集,解码器和编码器,用于在字节和Unicode字符之间进行转换。
Summary of charsets, decoders, and encoders in this package Class name Description
Charset
A named mapping between characters and bytes CharsetDecoder
Decodes bytes into characters CharsetEncoder
Encodes characters into bytes CoderResult
Describes coder results CodingErrorAction
Describes actions to take when coding errors are detected
在RFC 2278中定义的意义上, 字符集被命名为16位Unicode字符序列和字节序列之间的映射。 解码器是将特定字符集中的字节转换为字符的引擎, 编码器是将字符转换为字节的引擎。 编码器和解码器在字节和字符缓冲区上运行。 他们统称为编码员 。
Charset
类定义了为给定字符集创建编码器以及检索与字符集关联的各种名称的方法。 它还定义了用于测试是否支持特定字符集的静态方法,用于按名称定位字符集实例,以及用于构造包含当前Java虚拟机中可用支持的每个字符集的映射。
大多数用户不会直接使用这些类; 相反,他们将使用String
类中现有的与charset相关的构造函数和方法,以及现有的InputStreamReader
和OutputStreamWriter
类,所有这些类的实现都已经过重新设计,以便使用此包中定义的字符集工具。 对InputStreamReader
和OutputStreamWriter
类进行了少量 更改 ,以便允许在构造这些类的实例时指定显式字符集对象。
可以通过java.nio.charset.spi
包中CharsetProvider
类中定义的接口支持新的字符集。
除非另有说明,否则将null
参数传递给此包中任何类或接口中的构造函数或方法将导致抛出NullPointerException
。
- 从以下版本开始:
- 1.4
-
类摘要 类 描述 Charset 十六位Unicode code units的序列与字节序列之间的命名映射。CharsetDecoder 一种引擎,可以将特定字符集中的字节序列转换为16位Unicode字符序列。CharsetEncoder 一种引擎,可以将16位Unicode字符序列转换为特定字符集中的字节序列。CoderResult 编码器的结果状态的描述。CodingErrorAction 编码错误操作的类型安全枚举。StandardCharsets 标准Charsets
的常量定义。 -
异常摘要 异常 描述 CharacterCodingException 发生字符编码或解码错误时抛出的已检查异常。IllegalCharsetNameException 当使用不是 legal charset name的字符串时,抛出未经检查的异常。MalformedInputException 当输入字节序列对于给定字符集不合法,或者输入字符序列不是合法的16位Unicode序列时,抛出检查异常。UnmappableCharacterException 当输入字符(或字节)序列有效但无法映射到输出字节(或字符)序列时,抛出检查异常。UnsupportedCharsetException 如果没有可用于请求的字符集的支持,则抛出未经检查的异常。 -
错误汇总 Error 描述 CoderMalfunctionError Error thrown when thedecodeLoop
method of aCharsetDecoder
, or theencodeLoop
method of aCharsetEncoder
, throws an unexpected exception.