char unicode

字符编码问题:WCHAH(即UNICODE)和char之间怎么样转化呢?
原讨论链接:http://community.youkuaiyun.com/expert/topicview1.asp?id=724830
所属论坛:基础类     审核组:VC/MFC
提问者:duankuanjun     解决者:
感谢:acptvc
关键字:VC/MFC 函数 基础类 转换 字符 串 int 参看 编码 原型 缓冲区 unicode
答案:
字符编码问题:WCHAH(即UNICODE)和char之间怎么样转化呢?
--------------------------------------------------------------- 您可以使用WideCharToMultiByte函数来把UNICODE字符串转成一个新的普通的字符串,反之则使用函数MultiByteToWideChar把普通字符串转成UNICODE字符串。

MultiByteToWideChar函数原型如下:

int MultiByteToWideChar(
  UINT CodePage,         // 指定将进行转换的代码页,可赋为CP_ACP表示ANSI代码页
  DWORD dwFlags,         // 字符的附加控制,一般不使用,传递0
  LPCSTR lpMultiByteStr, // 要转换的串
  int cbMultiByte,       // 要转换的串的长度
  LPWSTR lpWideCharStr,  // UNICODE缓冲区
  int cchWideChar        // UNICODE缓冲区大小
);

其中参数cchWideChar的值如果设为零,则返回需要的缓冲区的大小(UNICODE),可以在申请适当的缓冲区大小之后再次调用。


WideCharToMultiByte函数原型如下

int WideCharToMultiByte(
  UINT CodePage,            // 与上类似
  DWORD dwFlags,            
  LPCWSTR lpWideCharStr,    
  int cchWideChar,          
  LPSTR lpMultiByteStr,     
  int cbMultiByte,          
  LPCSTR lpDefaultChar,     // 出现不能转换的字符时使用的缺省字符
  LPBOOL lpUsedDefaultChar  // 当缺省字符被使用时设为有效
);
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值