支持 Unicode

支持 Unicode

ID:37481042

大小:213.50 KB

页数:15页

时间:2019-05-24

支持 Unicode_第1页
支持 Unicode_第2页
支持 Unicode_第3页
支持 Unicode_第4页
支持 Unicode_第5页
资源描述:

《支持 Unicode》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1、Unicode和MBCS为支持国际编程,启用了Microsoft基础类库(MFC)、VisualC++的C运行时库和VisualC++开发环境。它们:·在Windows2000(以前为WindowsNT)上提供对Unicode标准的支持。Unicode是为所有语言提供足够编码的16位字符编码。所有ASCII字符都作为“加宽”字符包含在Unicode中。注意Windows95、Windows98或WindowsMillenniumEdition上不支持Unicode标准。·在所有平台上,支持称为双字节字符集(DBCS)的多字节字符集(MBCS)形式。DBCS字符由一个或两个字节构成。某些

2、范围的字节留出用作“前导字节”。前导字节指定由它和后面的“尾字节”构成单个双字节宽字符。必须清楚哪些字节是前导字节。在某个多字节字符集内,前导字节位于某个特定范围内,尾字节也一样。当这两种范围重叠时,可能需要计算上下文以确定某个给定的字节是用作前导字节还是尾字节。·对简化MBCS编程的工具提供支持(MBCS编程用于为国际市场编写的应用程序)。当在支持MBCS的Windows操作系统版本上运行时,VisualC++开发系统(包括集成的源代码编辑器、调试器和命令行工具)完全支持MBCS。有关更多信息,请参见VisualC++中的MBCS支持。注意在本文档中,MBCS用于描述所有对多字节字符的非

3、Unicode支持。在VisualC++中,MBCS始终是指DBCS。不支持比两个字节宽的字符集。按照定义,ASCII字符集是所有多字节字符集的子集。在许多多字节字符集中,0x00到0x7F范围内的每个字符都与ASCII字符集中具有相同值的字符相同。例如,在ASCII和MBCS字符串中,单字节NULL字符(“”)的值都是0x00并且指示终止空字符。2、国际支持大多数传统的C和C++代码采用不适用于国际应用程序的字符和字符串操作。虽然MFC和运行时库都支持Unicode或MBCS,但您仍需要亲自做一些工作。为指导您,本节解释VisualC++中“国际支持”的含义:·通过MFC函数参数列表

4、和返回类型中的可移植数据类型来支持Unicode和MBCS。根据您的版本是否定义了_UNICODE符号或_MBCS(即DBCS)符号,按条件用合适的方式来定义这些类型。根据您的版本定义的符号(即这两个符号中的一个),MFC库的不同变量自动与应用程序链接。·类库代码使用可移植的运行时函数和其他方法来确保正确的Unicode或MBCS行为。·您仍必须在代码中处理特定类型的国际化任务:·使用相同的可移植运行时函数,使MFC在任一环境下可移植。·使用_T宏使字符串和字符在任一环境下可移植。有关更多信息,请参见Tchar.h中的一般文本映射。·在MBCS下分析字符串时有一些注意事项。而在Unicod

5、e下分析字符串时则不需要注意这些事项。有关更多信息,请参见MBCS编程提示。·在应用程序中混合使用ANSI(8位)和Unicode(16位)字符时要小心。可以在程序的某些部分使用ANSI字符,而在其他部分使用Unicode字符,但不能在同一字符串中混合使用这两种字符。·在应用程序中不要硬编码字符串。而应通过将它们添加到应用程序的.rc文件使其成为STRINGTABLE资源。然后就可以在不必更改或重新编译源代码的情况下本地化应用程序。有关STRINGTABLE资源的更多信息,请参见字符串编辑器。注意欧洲和MBCS字符集的某些字符(如重音字母)的字符代码大于0x80。由于大多数代码使用有符号字

6、符,因此这些大于0x80的代码在转换为int时是带符号扩展的。这对数组索引是个问题,因为如果带符号扩展的字符为负值,则索引将超出数组范围。使用MBCS(如日语)的语言也很独特。由于一个字符可能由单字节或双字节组成,因此应始终同时处理两个字节。1、国际化策略根据您的目标操作系统和市场,有几个国际化策略:·应用程序使用Unicode,因此在Windows2000和WindowsNT(但不能在Windows95或Windows98)上运行。使用Unicode特定的功能并且所有字符都为16位宽(尽管可以出于特殊目的在程序的某些部分使用ANSI字符)。C运行时库提供仅使用Unicode编程的函数、宏

7、和数据类型。MFC则完全支持Unicode。·如果应用程序使用MBCS则可以在任何Win32平台上运行。使用特定于MBCS的功能。字符串可以包含单字节字符、双字节字符或同时包含这两种字符。C运行时库提供仅使用MBCS编程的函数、宏和数据类型。MFC则完全支持MBCS。·编写的应用程序的源代码具有完全可移植性。通过定义_UNICODE符号或_MBCS符号来重新编译应用程序,可以生成使用其中任何一种字符的版本。有关更多信息,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。