也说Unicode
来源:互联网 发布:手机淘宝聊天记录 编辑:程序博客网 时间:2024/05/01 03:52
Unicode的出现是为了适应软件国际化的需要。Unicode不同于双字节字符集(DBCS)。
一、相关操作函数
1、DBCS使用下面的函数操作字符串:
CharNext——获得后一个字符
CharPrev——获得前一个字符
IsDBCSLeadByte——判断是否为两个字节字符的第一个字节
C++运行期库提供了以"_mbs"开头的一系列的函数操作DBCS。类似的函数有_mbscat等。
2、ANSI字符集是一个美国标准。C++运行期库提供了以"str"开头的一些列的函数操作此字符集。
3、C++运行期库为Unicode字符集提供了一系列以"wcs"开头的函数。
二、对应的数据类型
1、对于ANSI字符定义为char。
2、对于Unicode的字符定义为wchar_t。
三、使用环境
1、首先要说明的是Win98对于Unicode的支持是很微弱的,所以如果要在Win98上运行Unicode编译的程序,可能造成运行错误或者失败。
2、由于Win2000及以后的OS的内核都是使用Unicode编写的,所以虽然可以在其上运行ANSI编码的程序,但是其运行过程中很多地方都需要将ANSI转换为Unicode以后,调用Unicode版本的函数,因为这个转换的过程存在所以ANSI的程序运行效率不高。在Win2000上最好使用Unicode编写程序。
四、编写通用的程序
1、在编程的时候使用TCHAR数据类型,此类型能够根据预编译宏的定义,将其转换为ANSI或者是Unicode。
2、预编译宏_MBCS、_UNICODE和UNICODE。_MBCS是多字节和ANSI字符串的编译宏。此时TCHAR将转换为char。_UNICODE和UNICODE是Unicode编码的预编译宏,TCHAR将转换为wchar_t。
3、_UNICODE和UNICODE与_MBCS不能在编译的时候同时被定义。
4、_UNICODE宏用于C运行期库的头文件,UNICODE宏用于Windows头文件。一般同时定义这两个宏。
五、转换函数
1、Unicode转换为ANSI使用:MultiByteToWideChar。
2、ANSI转换为Unicode使用:WideCharToMultiByte。
- 也说Unicode
- [ZT]也说Unicode
- 也说VC下 UNICODE和ASCII字符串相互转换
- 也来说说“忠”
- 也说就业
- 也说Bug管理工具
- 也说.NET
- 我也说IT
- 也说wapi
- 也说MIS
- 也说UrlRewriter
- 也说选题策划
- 也来说说厕所
- 也说缓存
- 也说面试
- 也说Bug管理工具
- 也说工作
- 也说一两句
- Spring Framework循序浅进(2)-原创
- 将数字转换成为大写金额!
- SQLServer自定义函数——fnCompare
- SQLServer自定义函数——fnDateInterval
- BLO开通了
- 也说Unicode
- SQLServer自定义函数——fnSplit
- SQLServer自定义函数——fnSumOfTwoTime
- 30岁的第一次面试经历
- 第一篇……起步
- *控件*有滚动条的LISTBOX
- 黑暗金属MV
- WebForm中DataGrid的20篇经典文章
- http://www.serverwatch.com/