代码页的编码支持

更新:2007 年 11 月

在 .NET Framework 中,由于使用 Unicode,应用程序不再需要引用代码页,因此简化了全球通用的应用程序的开发。代码页是按某种顺序排列的选定字符代码(以码位表示的字符)的列表。定义代码页通常是为了支持共享通用书写系统的特定语言或语言组。

Windows 代码页包含 256 个代码数据点,并且是从零开始的。考虑到连续性和旧代码,在大多数代码页中,码位 0 到 127 表示的字符相同。代码数据点 128 到 255 在不同的代码页之间略有不同。例如,代码页 1253 提供在希腊语书写系统中所需的字符代码。代码页 1252 为拉丁语书写系统(包括英语、德语和法语)提供字符。代码页 1253 中的后 128 个代码数据点包含希腊语字符,代码页 1252 中的后 128 个代码数据点包含重音字符。因此,应用程序不能将希腊语和德语存储在同一个代码流中,除非它包含指示所引用代码页的标识符。

双字节字符集 (DBCS) 方案是为包含 256 个以上字符的语言(如中文、日语和朝鲜语)开发的。在 DBCS 中,一对码位(双字节)表示一个字符。应用程序在处理 DBCS 数据时,DBCS 字符的第一个字节(前导字节)不单独处理。它同紧跟在其后的尾字节一起处理。该方案仍然不允许将两种语言(如日语和中文)组合在同一个数据流中。这是因为,在不同的代码页中,一对双字节码位可能表示不同的字符。

.NET Framework 为用代码页编码的字符提供了支持。应用程序可以使用 GetEncoding 方法为指定的代码页创建目标编码对象。下面的代码示例为代码页 1252 创建编码。

Encoding enc = Encoding.GetEncoding(1252)
Encoding enc = Encoding.GetEncoding(1252);

应用程序创建与指定代码页对应的 Encoding 对象后,可以使用该对象来执行 Encoding 类支持的其他操作。有关使用此类的更多信息,请参见使用 Unicode 编码主题中的“使用 Encoding 类”子主题。

请参见

概念

.NET Framework 中的 Unicode