在vc6.0的环境下,通常字符是采用ANSI方式进行编码的,而现在很多程序或者应用之间的交互,是需要采用UNICODE字符编码的。比方说使用GDI+或者使用sqlite3的链接。那么VC下有哪些方法,可以方便的将字符转换为UNICODE呢。

1、采用ATL中的USES_CONVERSION方法,然后采用A2W或者T2W方式进行转换,这种转换方式,主要是在堆栈中申请内存,因此不是一种很安全的方法,容易出现溢出情况。

2、直接采用MultiByteToWideChar方法,将字符串转换为Unicode字符,在进行转换之前,有一个方法,就是第一次,要转换的字符串指针位置处设置为NULL,这个时候,返回的是需要转换的字符串长度,然后申请内存再进行转换。相对而言,这种方式需要较多手工编写代码,以及手工释放。

3、应用采用ATL中的ComBSTR类,首先申请一个空的类对象 ,然后用Append方法,将自己的字符串嵌入到该字符串类中,这个时候,在使用(BSTR)进行强制转换,就可以获取得到UNICODE字符串,该方法,可以避免自己手工申请内存以及释放内存。相对比较方便。当然_bstr_t类也是类似的。

4、如果采用了CString方法,并且采用的是非ANSI方式编译代码,那么可以用CString的SysAllocString方法,获取CString中的Unicode字符串,不过该方法需要手工释放内存单元,调用SysFreeString。

转载于:https://www.cnblogs.com/ubunoon/archive/2010/02/06/1664897.html

VC下几种转换为UNICODE字符串的方法相关推荐

  1. SQL下三种执行CMD命令的方法

    SQL下三种执行CMD命令的方法: 先删除7.18号日志: (1)exec master.dbo.xp_cmdshell 'del C:/winnt/system32/logfiles/W3SVC5/ ...

  2. python 二进制数 转字符串_Python二进制串转换为通用字符串的方法

    一个小问题 今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理. Python代码的编码规则为UTF-8.在读入时,文件的每行是二进制串,形如: b'heroesxff..... ...

  3. iis搭建php出现301,IIS服务器PHP下三种实现301重定向的方法

    IIS服务器PHP下三种实现301重定向的方法 来源:重庆SEO作者:杨南强 2012-05-07 08:47 我来投稿参与评论 301重定向:301代表永久性转移,301重定向是网页更改地址后对搜索 ...

  4. python如何把二进制转文本_Python二进制串转换为通用字符串的方法

    一个小问题 今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理. Python代码的编码规则为UTF-8.在读入时,文件的每行是二进制串,形如: b'heroes\xff..... ...

  5. pythonunicode转为字符串_python中将 \\uxxxx转换为 Unicode字符串

    今天碰到一个很有意思的问题,需要将普通的 Unicode字符串转换为 Unicode编码的字符串,如下: 将 \\u9500\\u552e 转化为 \u9500\u552e 也就是 销售 . 乍一看感 ...

  6. VC下加载多种格式图片的方法总结

    From: http://www.cnblogs.com/Daywei/archive/2011/03/19/1988848.html 尽管VC有提供相应的API和类来操作bmp位图.图标和(增强)元 ...

  7. Linux操作系统下三种配置环境变量的方法(linux下几种profile执行顺序)

    http://www.linuxeden.com/html/sysadmin/20080424/56879.html 现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量, ...

  8. [zz]Linux操作系统下三种配置环境变量的方法

    个人的总结: 设置了/etc/profile 和 ~/.bashrc 之后,使用了source 命令,是可以echo添加的变量,但是用getenv读不出来,然后使用env命令也显示不出来,是因为没有e ...

  9. Linux操作系统下三种配置环境变量的方法

    现在使用linux的朋友越来越多了,在linux下做开发首先就是需要配置环境变量,下面以配置java环境变量为例介绍三种配置环境变量的方法. 1.修改/etc/profile文件 如果你的计算机仅仅作 ...

最新文章

  1. GNU/LINUX(KaliUbuntu)安装chrome浏览器
  2. 检测生成.xml文件的效果:以人脸xml为例
  3. UIScrollView的delegate方法妙用之让UICollectionView滑动到某个你想要的位置
  4. Android dumpsys命令详细使用
  5. 利用 Caddy 轻松实现反向代理/镜像(支持自签SSL证书)
  6. ssm当用户登录成功显示用户名_从零到企业级SSM电商项目实战教程(十八)用户登录功能开发...
  7. Hash Table in C
  8. leetcode python3 简单题88. Merge Sorted Array
  9. 图案、标签、logo
  10. 算法笔记_面试题_数组/链表/跳表/各种数据结构复杂度对比
  11. oracle 查询月份
  12. 遍历map集合常用的4种方式
  13. MM应是中国移动铸就融合信息平台的催化剂
  14. 实验室计算机主机关,计算机综合实验室管理办法
  15. LMS自适应滤波的MATLAB实现——实例仿真
  16. python租房_【Python】租房经历总结—–我是如何2天找到合适租房的(房东直租)简单粗暴...
  17. [原创]分期还款的名义利率与真实利率
  18. html中圆的面积怎么计算,圆的面积怎么算
  19. excel超链接怎么设置_14用Python 读写 Excel 文件
  20. CSDN 双11优惠券 使用攻略,畅享折上折!

热门文章

  1. Hook鼠标和键盘的使用
  2. python对二维数组统计某一行的去重计数_Python数据分析笔记——Numpy、Pandas库
  3. mysql工作中遇到的问题_mysql - 工作中碰到的问题
  4. python定义一个函数列表排序_Python 列表(修改、添加、删除、排序)
  5. java 去重复值 按位_详解Java的按位操作符
  6. Ubuntu下安装rknn-toolkit以及转换darknet-yolov3模型
  7. YOLO V1,V2, V3的记录
  8. 机器学习 集成学习理论基础 随机森林+adaboost
  9. 【转】QTableView 小结
  10. 2018杭电多校第二场1006(容斥原理,组合数学)