表示字符编码。
有关此类型所有成员的列表,请参阅 Encoding 成员。
System.Object
System.Text.Encoding
System.Text.ASCIIEncoding
System.Text.UnicodeEncoding
System.Text.UTF7Encoding
System.Text.UTF8Encoding
[Visual Basic] <Serializable> MustInherit Public Class Encoding [C#] [Serializable] public abstract class Encoding [C++] [Serializable] public __gc __abstract class Encoding [JScript] public Serializable abstract class Encoding
线程安全
此类型的所有公共静态(Visual Basic 中为 Shared)成员是线程安全的。但不保证任何实例成员是线程安全的。
备注
提供了将 Unicode 字符的数组和字符串与针对目标代码页编码的字节数组互相转换的方法。
System.Text 命名空间提供了若干 Encoding 实现,包括:
ASCIIEncoding 类将 Unicode 字符编码为单个的 7 位 ASCII 字符。此编码仅支持 U+0000 和 U+007F 之间的字符值。
UnicodeEncoding 类将每个 Unicode 字符编码为两个连续的字节。支持 Little-Endian(代码页 1200)和 Big-Endian(代码页 1201)字节顺序。
UTF7Encoding 类使用 UTF-7 编码(UTF-7 代表 7 位形式的 UCS 转换格式)对 Unicode 字符进行编码。此编码支持所有 Unicode 字符值,并且还可以按代码页 65000 访问。
UTF8Encoding 类使用 UTF-8 编码(UTF-8 代表 8 位形式的 UCS 转换格式)对 Unicode 字符进行编码。此编码支持所有 Unicode 字符值,并且还可以按代码页 65001 访问。
使用带有代码页或名称参数的 GetEncoding 方法来获取其他编码。
当要转换的数据仅在连续块(如从流中读取的数据)中可用时,应用程序可以使用 Decoder 或 Encoder 执行转换。这在数据量大到需要分成较小的块时也很有用。解码器和编码器通过 GetDecoder 和 GetEncoder 方法获取。应用程序可使用此类的属性(如 ASCII、Default、Unicode、UTF7 和 UTF8)来获取编码。应用程序可通过 ASCIIEncoding、UnicodeEncoding、UTF7Encoding 和 UTF8Encoding 类初始化 Encoding 对象的新实例。
通过编码,GetBytes 方法用于将 Unicode 字符数组转换为字节数组,而 GetChars 方法用于将字节数组转换为 Unicode 字符数组。GetBytes 和 GetChars 方法在转换之间不维护状态。
核心 GetBytes 和 GetChars 方法要求调用方提供目标缓冲区并确保该缓冲区大到足以容纳整个转换结果。应用程序可使用下列方法之一来计算目标缓冲区所需的大小。
- 可以用 GetByteCount 和 GetCharCount 方法计算某个特定转换结果的精确大小,然后就可以为该转换分配大小合适的缓冲区。
- GetMaxByteCount 和 GetMaxCharCount 方法可用于计算给定字节或字符数的转换的最大大小,这样该大小的缓冲区就可以重复用于多次转换。
第一个方法通常使用较少的内存,而第二个方法通常执行得更快。