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