关于(Unicode,UTF8) 汉字内码转换的两段代码

本文介绍了在VS2008下进行汉字内码转换的两段代码,涉及UTF8到Unicode以及Unicode到UTF8的转换过程,主要应用于MySQL数据的处理。
摘要由CSDN通过智能技术生成

       最近研究了一下,vs2008下的汉字字符内码转换。总结了一小下:

       国外网站喜欢用UTF8,那是因为英文为主,按照unicode操作的话,英文字母全被存储为两个字节,对于字母系的地区来说,用两个字节存储只有字母太浪费了,不如用UTF8来的更为节省些,因为UTF8格式下的英文字母还是一个字节。

       而对于国内网站来说,汉字为主,UTF8格式下每个汉字占用3个字节,远不如unicode格式占用2个字节节省空间。

       而在vc2008 下对汉字内码转换简单总结了两段转换代码,效率先不说,至少可以正常工作。

 

 

       // 汉字转码函数UTF8转Unicode

       // 本函数应用在mysql取出汉字的内码转换,所以传入参数稍稍特定了一下
       CString CVisitorSystemDlg::UTF8toUnicode(char** UTF8Str,int iNum)
       {
              int wcharNum; //UTF8汉字内码字符长度
              int strNum;   //Unicode汉字内码字符长度
              wchar_t wcharStr[WCH_LEN]; //WCH_LEN定义为一个固定长度wchar_t字符串空间长度
              CString Cstr;
 
              wcharNum = MultiByteToWideChar(CP_UTF8,0,UTF8Str[iNum],WCH_LEN,wcharStr,0);

              //第一次运行获取长度


              Mul

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值