- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 辽宁铁道职业技术学院单招考试文化素质数学通关考试题库(完整版)附答案详解.docx VIP
- 学年西城区四中初三上学期期中数学试卷.pdf VIP
- 2019-2020学年北京四中九年级(上)期中数学试卷--含详细解析.docx VIP
- 中国餐饮企业发展报告.pptx VIP
- 2020-2021学年北京师大二附中实验学校九年级上学期期中数学试卷(含解析).pdf VIP
- 2022-2023学年北京四中九年级上学期期中数学试卷(含答案解析).docx VIP
- 中国古建筑文化-专项知识介绍 5中国古建筑彩画.pptx
- 2022-2023学年北京西城区四中初三(上)期中数学试卷及答案.docx VIP
- 《基础护理学》课件-3章医院感染的预防与控制.ppt VIP
- GB 50013-2018室外给水设计标准.doc VIP
文档评论(0)