zoukankan      html  css  js  c++  java
  • ANSI编码方式转化为UTF-8方式

    说明:

    记事本txt有四种编码方式,分别为:UTF-8、ANSI、Unicode和Unicode big endian,当进行写操作,创建的txt编码格式,与写入汉字的编码方式相同;如果写入的汉字是不同的编码方式,此时创建的txt中,会出现乱码,所以需要把汉字转化为同一编码方式。

    本文主要介绍:把汉字编码方式,由ANSI方式转化为UTF-8方式:

    一、ANSI转化为UTF-8程序:

    1. CString ToUTF8(const wchar_t* buffer, int len)  //返回类型为CString  
    2. {    
    3.     int size = ::WideCharToMultiByte(CP_UTF8, 0, buffer, len, NULL, 0, NULL,    
    4.             NULL);    
    5.     if (size == 0)    
    6.         return "";    
    7.     
    8.     std::string newbuffer;    
    9.     newbuffer.resize(size);    
    10.     ::WideCharToMultiByte(CP_UTF8, 0, buffer, len,    
    11.             const_cast<char*>(newbuffer.c_str()), size, NULL, NULL);    
    12.     
    13.     //如需返回string类型,直接 return newbuffer  
    14.       
    15.     TCHAR outstr[64]; //string 转化为CString返回  
    16.     CString strTemp;  
    17.     memset(outstr, ''sizeof(outstr));  
    18.     memcpy(outstr,newbuffer.c_str(),newbuffer.size());  
    19.     strTemp.Format("%s",outstr);  
    20.     return strTemp;   
    21. }    

    二、函数调用形式

    1. wstring text =  L"汉字";   
    2. CString strTemp = ToUTF8(text.c_str(),text.size());  





  • 相关阅读:
    Unity RigidBodyFPSController 鼠标不显示
    egret 列表滑动时 中间的item 放大效果实现
    egret 相关面试题
    egret 点击屏幕外时,缓动动画会停止
    游戏中 商城 每隔一段时间刷新次数增加一次
    egret 游戏优化文档
    typescript 中 let和var的区别
    egret微端, 非原生打包相关
    代码中根据不同的类型获取多个标签的中文翻译
    总结一些 egret项目接小程序时 遇到的问题及解决方法
  • 原文地址:https://www.cnblogs.com/jpfss/p/8653294.html
Copyright © 2011-2022 走看看