文栏 - 信息技术 - 浏览文章 - 成为符合ansi和unicode的应用程序
成为符合ansi和unicode的应用程序
发布时间: 2007/7/3 9:52:15 作者: knowBot 出处: http://blog.csdn.net/knowbot/
将应用程序转换成符合unicode的应用程序应该遵循的原则:
1.将文本串作为字符数组,而不是chars数组或字节数组。
2.将通用数据类型如TCHAR和PTSTR用于文本数组和字符串。
3.将显示数据类型如BYTE和PBYTE用于字节,字节指针和数据缓存。
4.将TEXT宏用于原义字符和字符串。
5.全局性替换,如PTSTR替换PSTR
6.修改字符串运算问题,类似sizeof(szBuffer)/(TCHAR), malloc(nCharacters *sizeof(TCHAR))

资源编译器对所有的资源进行编译时,输出文件是资源的二进制文件,资源中的字符串值总是写作unicode字符串,如果未定义UNICODE宏,系统将进行内部转换。如调用loadstring  函数实际是调用loadstringA(),loadstringA()就会从你的资源文件中读取字符串,并把它转换成ANSI字符串。


IsTextUnicode函数用于确定文本文件是否未unicode。


MultibyteToWideChar和WideCharToMultiByte可用于两种字符串之间的相互转化,可把0作为cchMultiByte的值作

为参数传入来确定需要分配的缓存大小,再调用一次实现转换。

这样你可以为你的dll函数编写unicode和ansi版本(例子可参见windows核心编程2.9.4),最后再用dll分配的头

文件中,可以用#ifdef
              #define
              #else
              #define
建立两个函数的原型。


Trackback:http://tb.blog.csdn.net/TrackBack.aspx?PostId=1215060
1/1页次 第1页
所属分类: 信息技术   所属专题: 他山之石
共有 4080 人次浏览

评论作者:
电子邮件:
评论内容:
投票评价:
验 证 码:
图片包含4个随机字符,点击刷新
请输入上面图片中的随机字符