Unicode与ANSI字符转换
来源:互联网 发布:云计算基础设施 编辑:程序博客网 时间:2024/04/28 16:10
使用Windows函数MultiByteWideChar将多字节字符穿转换为宽字节字符串,如下:
int MultiByteToWideChar(
UINT uCodePage,
DWORD dwFlags,
PCSTR pMultiByte,
int cbMultiByte,
PWSTR pWideCharStr,
cchWideChar
);
nCodePage参数标识了与多字节字符关联的一个代码页值。
dwFlags参数允许我们进行额外的控制,他会影响带变音符号(如重音)的字符.但是,一般情况下都不使用这些额外标记,所以传给dwFlags的参数值是0。
pMultiByteStr参数指定要转换的字符
cbMultiByte参数指定字符串的长度(字节数),如果传给cbMultiByte参数的值是-1,函数便可以自动判断源字符的长度。
函数将转换所得的Unicode版本的字符串写入内存缓冲区,其内存地址由pWideCharStr参数指定。必须在参数cchWideChar这个缓冲区的最大长度(字符数).
如果调用MulttiByteToWideChar,并给cchWideChar参数传入0,函数就不会执行转换,而是返回一个宽字符数(包括终止符'\0'),只有当缓冲区能容纳该数量的宽字符是
转换才会成功。一般按照以下不讲讲一个多字节字符转换为Unicode形式.
1.调用MultiByteToWideChar,为pWideCharStr参数传入NULL,为cchWideChar传入0,为cbMutilByte传入-1
2.分配一块足以容纳转换后Unicode字符串的内存,他的大小是上一个MultiByteToWideChar调用的返回值乘以sizeof(wchar_t)
3.在次调用MultiByteToWideChar,这次将缓冲区的地址作为pWideCharStr的参数的值传入
4.使用转换后的字符串
5.释放Unicode字符串占用的内存
- Unicode与ANSI字符转换
- ANSI与Unicode字符宏转换
- [收集]ANSI字符与Unicode字符的互相转换
- UNICODE与ANSI转换
- ansi 与unicode转换
- unicode字符与ansi字符
- WINDOWS CE下ANSI 与 Unicode 字符相互转换
- UNICODE与ANSI编码的字符间的相互转换
- WINDOWS CE下ANSI 与 Unicode 字符相互转换
- MFC中ANSI与Unicode字符转换最简单方法
- unicode与ansi字符详解
- ANSI字符和UNICODE字符的转换
- Unicode字符和ANSI字符转换
- unicode字符转换成ansi字符
- 字符转换:ANSI,UNICODE互相转换
- Unicode与ANSI字符串转换
- ANSI与Unicode的转换
- Unicode 与 ANSI 字符串转换
- ubuntu下设置环境变量
- 【技术类】【且听我说“镶嵌数据集”】3、镶嵌数据集特点
- rcp(插件开发)调用Ant or 启动Tomcat方式
- Mac 下搭建起Eclipse的Android环境
- HDU4504 威威猫系列故事——篮球梦
- Unicode与ANSI字符转换
- android混淆一步一步
- 先发个博客做测试
- SHFileOperation()函数移动,复制,删除文件夹
- ubuntu monitor
- 想念
- 通过 OOPS PC 指针信息找到系统出错位置
- Java 实现冒泡排序和选择排序
- 超仿 网易新闻android客户端 滑动Menu 滑动广告和标题滑块