代码页( code page)

概述和说明


代码页是一个选定字符代码的列表,字符表示为以某个特定的顺序排列的码位。代码页通常会定义为支持特定的语言或那些共享公用书写系统的语言组。所有的 Window 代码页只能包含 256 个码位。大多数前 127 个码位都表示相同的字符。这是为保证连续性和旧代码预留的码位。代码页在后面的 128 个码位 128-255(以 0 为基数)有着显著的不同。


例如,代码页 1253 为希腊语书写系统提供所需的字符代码,而代码页 1250 为拉丁语书写系统(包括英语、德语和法语)提供字符。后 128 个码位中包含重音字符或希腊语字符。因此不能将希腊语和德语存储在同一代码流中,除非您放置某些类型的标识符来指明所引用的代码页。


在处理亚洲字符集时情况更为复杂。由于中文、日语和韩语包含的字符超过 256 个,,因而需要开发一种不同的方案,但该方案必须以 256 个字符的代码页为基础。因此 DBCS(双字节字符集)应运而生。


每个亚洲字符都由一对码位表示(因此为双字节)。为支持编程,将留出一组码位表示该集的第一个字节但不赋值(除非后面紧跟已定义的第二个字节)。DBCS 意味着您必须编写可将这些码位对视为一个码位的代码,但这样仍无法在同一数据流中组合日语和中文,因为在不同代码页中,相同的双字节码位代表不同的语言中的不同字符。


为了在同一数据流中存储不同的语言,需要创建 Unicode。该“代码页”可表示 64000 多个字符,现在由于引入了代理项,它可以表示 1,000,000,000 多个字符。Windows 2000 中使用了 Unicode 后可轻松地创建全球通用的代码,因为您无需再担心寻址哪个代码页,也不必再担心是否需要归组字符码位来表示一个字符。


请注意,在为 Win95/98/ME 编写 Unicode 应用程序时,您仍需要将 Unicode 码位转换回 Window 代码页。这是因为 Win95/98/ME GDI 仍然是基于 ANSI 的。但可使用 WideChartoMultiByte 和 MultiByteToWideChar 函数简化此操作。请参阅 MSDN 上的“ Unicode 和字符集”。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值