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());  





  • 相关阅读:
    Error creating bean with name 'eurekaAutoServiceRegistration'
    CentOS 下 安装 nginx 执行配置命令 ./configure 报错
    linux解压war包的命令
    idea中如何将一个普通项目转换为maven项目(或者导入Maven项目后没反应)
    IDEA报 : Lombok Requires Annotation Processing
    IDEA中如何添加RunDashboard
    @Controller 和 @RestController 的区别
    @RequestMapping 和 @GetMapping @PostMapping 区别
    批量提取指定文件夹下的所有文件名称及其路径
    TortoiseSVN的bin目录下面没有svn.exe
  • 原文地址:https://www.cnblogs.com/jpfss/p/8653294.html
Copyright © 2011-2022 走看看