第2章 Unicode.PDFVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 Unicode.PDF

下载 第2章 U n i c o d e 随着M i c r o s o f t公司的Wi n d o w s操作系统在全世界日益广泛的流行,对于软件开发人员来说, 将目标瞄准国际上的各个不同市场,已经成为一个越来越重要的问题。美国的软件版本比国际 版本提前 6个月推向市场,这曾经是个司空见惯的现象。但是,由于各国对 Wi n d o w s操作系统 提供了越来越多的支持,因此就更加容易为国际市场生产各种应用软件,从而缩短了软件的美 国版本与国际版本推出的时间间隔。 Wi n d o w s操作系统始终不逾地提供各种支持,以帮助软件开发人员进行应用程序的本地化 工作。应用软件可以从各种不同的函数中获得特定国家的信息,并可观察控制面板的设置,以 确定用户的首选项。Wi n d o w s甚至支持不同的字体,以适应应用的需要。 之所以将这一章放在本书的开头,是因为考虑到 U n i c o d e 是开发任何应用程序时要采用的 基本步骤。本书的每一章中几乎都要讲到关于 U n i c o d e 的问题,而且书中给出的所有示例应用 程序都是“用U n i c o d e实现的”。如果你为Microsoft Windows 2000或Microsoft Windows CE开发 应用程序,你应该使用U n i c o d e进行开发。如果你为Microsoft Windows 98开发应用程序,你必 须对某些问题作出决定。本章也要讲述Windows 98 的有关问题。 2.1 字符集 软件的本地化要解决的真正问题,实际上就是如何来处理不同的字符集。多年来,许多人 一直将文本串作为一系列单字节字符来进行编码,并在结尾处放上一个零。对于我们来说,这 已经成了习惯。当调用s t r l e n 函数时,它在以0结尾的单字节字符数组中返回字符的数目。 问题是,有些文字和书写规则(比如日文中的汉字就是个典型的例子)的字符集中的符号 太多了,因此单字节(它提供的符号最多不能超过 2 5 6个)是根本不敷使用的。为此出现了双 字节字符集(D B C S ),以支持这些文字和书写规则。 2.1.1 单字节与双字节字符集 在双字节字符集中,字符串中的每个字符可以包含一个字节或包含两个字节。例如,日文 中的汉字,如果第一个字符在0 x 8 1与0 x 9 F之间,或者在0 x E 0与0 x F C之间,那么就必须观察下 一个字节,才能确定字符串中的这个完整的字符。使用双字节字符集,对于程序员来说简直是 个很大的难题,因为有些字符只有一个字节宽,而有些字符则是两个字节宽。 如果只是调用s t r l e n函数,那么你无法真正了解字符串中究竟有多少字符,它只能告诉你 到达结尾的0之前有多少个字节。A N S I 的C运行期库中没有配备相应的函数,使你能够对双字 节字符集进行操作。但是,Microsoft Visual C++ 的运行期库却包含许多函数,如_ m b s l e n , 它可 以用来操作多字节(既包括单字节也包括双字节)字符串。 为了帮助你对D B C S字符串进行操作,Wi n d o w s提供了下面的一组帮助函数(见表2 - 1 ) 。 前两个函数CharNext 和Char Prev 允许前向或逆向遍历DBCS 字符串,方法是每次一个字 符。第三个函数 IsDBCSLeadByte, 在字节返回到一个两字字节符的第一个字节时将返回 T R U E 。 12计计第一部分 程序员必读 下载 表2-1 对D B C S字符串进行操作的帮助函数 函 数 描 述 PTSTR CharNext (PCTSTR pszCurrentChar ); 返回字符串中的下一个字符的地址 PTSTR CharPrev (PCTSTR pszStart,PCTSTR 返回字符串中的上一个字符的地址 p s z C u r r e n t C h a r ) ; BOOL IsDBCSLeadByteTRUE(BY

文档评论(0)

专业好文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6110200002000000

1亿VIP精品文档

相关文档