JavaTM Platform
Standard Ed. 6

软件包 java.nio.charset

定义用来在字节和 Unicode 字符之间转换的 charset、解码器和编码器。

请参见:
          描述

类摘要
Charset 16 位的 Unicode 代码单元序列和字节序列之间的指定映射关系。
CharsetDecoder 能够把特定 charset 中的字节序列转换成 16 位 Unicode 字符序列的引擎。
CharsetEncoder 能够把 16 位 Unicode 字符序列转换成特定 charset 中字节序列的引擎。
CoderResult coder 结果状态的描述。
CodingErrorAction 编码错误操作的类型安全的枚举。
 

异常摘要
CharacterCodingException 出现字符编码或解码错误时,抛出此经过检查的异常。
IllegalCharsetNameException 将一个不是合法 charset 名称的字符串用作 charset 名称时,抛出此未经检查的异常。
MalformedInputException 当输入字节序列对于给定 charset 来说是不合法的,或者输入字符序列不是合法的 16 位 Unicode 序列时,抛出此经过检查的异常。
UnmappableCharacterException 当输入字符(或字节)序列有效,但不能被映射为输出字节(或字符)序列时,抛出此经过检查的异常。
UnsupportedCharsetException 当不支持请求的 charset 时,抛出此未经检查的异常。
 

错误摘要
CoderMalfunctionError 当 CharsetDecoder 的 decodeLoop 方法,或 CharsetEncoder 的 encodeLoop 方法抛出不可预料的异常时抛出的错误。
 

软件包 java.nio.charset 的描述

定义用来在字节和 Unicode 字符之间转换的 charset、解码器和编码器。

类名

描述

Charset 字符和字节之间的指定映射关系
CharsetDecoder 把字节解码为字符
CharsetEncoder   把字符编码为字节
CoderResult   描述 coder 的结果
CodingErrorAction   描述检测到编码错误时所采取的操作

charset 是 16 位 Unicode 字符序列和字节序列之间的指定映射关系,从某种意义上来说,在 RFC 2278 中对其进行了定义。解码器 是把一个特定 charset 中的字节转换成字符的引擎,编码器 是把字符转换成字节的引擎。编码器和解码器在字节和字符缓冲区上操作。它们共同被称为 coder。

Charset 类定义了为给定的 charset 创建 coder 的方法和获取与某个 charset 相关的名称的方法。它还定义了用于测试是否支持特定 charset 的静态方法、通过名称查找 charset 实例的静态方法,以及构造一个包含目前 Java 虚拟机支持的每个 charset 的映射静态方法。

大多数用户不直接使用这些类;他们使用 String 类中存在的和 charset 有关的构造方法和方法,一起使用的还有 InputStreamReader 和 OutputStreamWriter 类,为了利用此包中定义的 charset 设施,所有这些类的实现都被重写。为了在构造这些类的实例时显式地指定 charset 对象,已经对 InputStreamReader 和 OutputStreamWriter 类做了一些更改。

通过在 java.nio.charset.spi 包中的 CharsetProvider 类中定义的接口,可提供对新 charset 的支持。

除非另行说明,否则将 null 参数传递给此包中任何类或接口的构造方法或方法将会导致抛出 NullPointerException。

从以下版本开始:
1.4

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。