关于C++中字符的转换
VS的工程属性中我们常会设置Character Set:
aaarticlea/png;base64,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" alt="" />
为了支持Unicode编码,需要多字节与宽字节之间的相互转换。这里涉及两个函数:
int WideCharToMultiByte(
_In_ UINT CodePage,
_In_ DWORD dwFlags,
_In_ LPCWSTR lpWideCharStr,
_In_ int cchWideChar,
_Out_opt_ LPSTR lpMultiByteStr,
_In_ int cbMultiByte,
_In_opt_ LPCSTR lpDefaultChar,
_Out_opt_ LPBOOL lpUsedDefaultChar
);
和
int MultiByteToWideChar(
_In_ UINT CodePage,
_In_ DWORD dwFlags,
_In_ LPCSTR lpMultiByteStr,
_In_ int cbMultiByte,
_Out_opt_ LPWSTR lpWideCharStr,
_In_ int cchWideChar
);
详细介绍参看:https://msdn.microsoft.com/en-us/library/dd374130%28VS.85%29.aspx和https://msdn.microsoft.com/en-us/library/windows/desktop/dd319072%28v=vs.85%29.aspx
这两个函数在使用时需要指定代码页,常用的代码页由CP_ACP和CP_UTF8两个。使用CP_ACP代码页就实现了ANSI与Unicode之间的转换,使用CP_UTF8代码页就实现了UTF-8与Unicode之间的转换。
举例:
#include <iostream>
#include <string>
#include <windows.h> std::wstring ANSIToUnicode(const std::string& str);
std::string UnicodeToANSI(const std::wstring& str);
std::wstring UTF8ToUnicode(const std::string& str);
std::string UnicodeToUTF8(const std::wstring& str); int main()
{
std::string str = "Hello World!";
std::wstring wstr = ANSIToUnicode(str); std::wstring wstr1 = L"Hello World";
std::string str1 = UnicodeToANSI(wstr1); system("pause");
return ;
} std::wstring ANSIToUnicode(const std::string& str)
{
int len = ;
len = str.length();
int unicodeLen = ::MultiByteToWideChar(CP_ACP,//第一次只是为了获取转换为宽字符的长度
,
str.c_str(),
-,
NULL,
);
wchar_t * pUnicode;
pUnicode = new wchar_t[unicodeLen + ];
memset(pUnicode, , (unicodeLen + )*sizeof(wchar_t));
::MultiByteToWideChar(CP_ACP,
,
str.c_str(),
-,
(LPWSTR)pUnicode,
unicodeLen);
std::wstring rt;
rt = (wchar_t*)pUnicode;
delete pUnicode; return rt;
} std::string UnicodeToANSI(const std::wstring& str)
{
char* pElementText;
int iTextLen;
// wide char to multi char
iTextLen = WideCharToMultiByte(CP_ACP,
,
str.c_str(),
-,
NULL,
,
NULL,
NULL);
pElementText = new char[iTextLen + ];
memset((void*)pElementText, , sizeof(char) * (iTextLen + ));
::WideCharToMultiByte(CP_ACP,
,
str.c_str(),
-,
pElementText,
iTextLen,
NULL,
NULL);
std::string strText;
strText = pElementText;
delete[] pElementText;
return strText;
} std::wstring UTF8ToUnicode(const std::string& str)
{
int len = ;
len = str.length();
int unicodeLen = ::MultiByteToWideChar(CP_UTF8,
,
str.c_str(),
-,
NULL,
);
wchar_t * pUnicode;
pUnicode = new wchar_t[unicodeLen + ];
memset(pUnicode, , (unicodeLen + )*sizeof(wchar_t));
::MultiByteToWideChar(CP_UTF8,
,
str.c_str(),
-,
(LPWSTR)pUnicode,
unicodeLen);
std::wstring rt;
rt = (wchar_t*)pUnicode;
delete pUnicode; return rt;
} std::string UnicodeToUTF8(const std::wstring& str)
{
char* pElementText;
int iTextLen;
// wide char to multi char
iTextLen = WideCharToMultiByte(CP_UTF8,
,
str.c_str(),
-,
NULL,
,
NULL,
NULL);
pElementText = new char[iTextLen + ];
memset((void*)pElementText, , sizeof(char) * (iTextLen + ));
::WideCharToMultiByte(CP_UTF8,
,
str.c_str(),
-,
pElementText,
iTextLen,
NULL,
NULL);
std::string strText;
strText = pElementText;
delete[] pElementText;
return strText;
}
结果:
aaarticlea/png;base64,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" alt="" />
还有一个使用C函数库的方法:
#include <string>
#include <iostream>
#include <cstdlib> std::string ws2s(const std::wstring& ws)
{
std::string curLocale = setlocale(LC_ALL, NULL); // curLocale = "C";
setlocale(LC_ALL, "chs"); //中文地区
const wchar_t* _Source = ws.c_str();
size_t _Dsize = ws.size() + ; //比要转换的宽字符个数大1
char *_Dest = new char[_Dsize];
memset(_Dest, , _Dsize); //初始化缓冲区
size_t i;
wcstombs_s(&i, _Dest, _Dsize, _Source, ws.size());
std::cout << "i:" << i << std::endl;
std::string result = _Dest;
delete[]_Dest;
setlocale(LC_ALL, curLocale.c_str()); //设置回原来的locale
return result; } std::wstring s2ws(const std::string& s)
{
std::string curlLocale = setlocale(LC_ALL, NULL);
setlocale(LC_ALL, "chs");
const char* _Source = s.c_str();
size_t _Dsize = s.size() + ;
wchar_t* _Dest = new wchar_t[_Dsize];
size_t i;
mbstowcs_s(&i, _Dest, _Dsize, _Source, s.size());
std::wstring result = _Dest;
delete[] _Dest;
setlocale(LC_ALL, curlLocale.c_str());
return result;
} int main()
{
std::wstring wstr = L"Hello World!";
std::string str = ws2s(wstr);
std::string str1 = "Hello World!";
std::wstring wstr1 = s2ws(str);
system("pause");
return ;
}
结果:
aaarticlea/png;base64,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" alt="" />
第三种方法:
#include <string>
#include <iostream> std::wstring StringToWString(const std::string &str)
{
std::wstring wstr(str.length(), L' ');
std::copy(str.begin(), str.end(), wstr.begin());
return wstr;
} //只拷贝低字节至string中
std::string WStringToString(const std::wstring &wstr)
{
std::string str(wstr.length(), ' ');
std::copy(wstr.begin(), wstr.end(), str.begin());
std::cout << str << std::endl;
return str;
} int main()
{
std::wstring wstr = L"Hello World!";
std::string str = WStringToString(wstr);
std::string str1 = "Hello World!";
std::wstring wstr1 = StringToWString(str);
system("pause");
return ;
}
结果:
aaarticlea/png;base64,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" alt="" />
关于C++中字符的转换的更多相关文章
- erlang中字符编码转换(转)
转自:http://www.thinksaas.cn/group/topic/244329/ 功能说明: erlang中对各种语言的编码支持不足,此代码是使用erlang驱动了著名的iconv编码库来 ...
- JSP中字符编码转换问题
问题描述:一个input.jsp页面中的参数,传递到另外一个save.jsp页面上,然后存入到数据库中,如果input.jsp页面输入偶数中文没有问题,输入奇数则出现?,存入数据库的也是?. 问题源码 ...
- 【python】网页中字符编码转换 unicode-escape
有的时候我们用python来抓取网页会得到类似 '\\u003C\\u0066\\u0072\\u006F\\u006D\\u003E' 或者 '%u003c%u0062%u0072%u003e%u0 ...
- ruby中字符的转换
1.将表格名转成class名 classify "book_comments".classify => "BookComment" 2.class名转 ...
- php字符编码转换之gb2312转为utf8(转)
在php中字符编码转换我们一般会用到iconv与mb_convert_encoding进行操作,但是mb_convert_encoding在转换性能上比iconv要差很多哦.string iconv ...
- DB2中字符、数字和日期类型之间的转换
DB2中字符.数字和日期类型之间的转换 一般我们在使用DB2或Oracle的过程中,经常会在数字<->字符<->日期三种类 型之间做转换,那么在DB2和Oracle中,他们分别 ...
- C#中字符转换问题详解
C# 出来也有些日子了,最近由于编程的需要,对 C# 的类型转换做了一些研究,其内容涉及 C# 的装箱/拆箱/别名.数值类型间相互转换.字符的 ASCII 码和 Unicode 码.数值字符串和数值之 ...
- 字符串A转换到字符串B,只能一次一次转换,每次转换只能把字符串A中的一个字符全部转换成另一个字符,是否能够转换成功
public class DemoTest { public static void main(String[] args) { System.)); } /** * 有一个字符串A 有一个字符串B ...
- Halcon中循环读取文件的实现以及数字与字符的转换
在循环读取文件的位置时,常用到数字与字符的转换. 数字与字符的转换 将字符转换为数字 tuple_number(StringImageIndex,IntImageIndex)` 1 2 1 2 将数字 ...
随机推荐
- 物料事务处理接口表 MTL_TRANSACTIONS_INTERFACE 账户别名使用 及 提示无效的分配账户字段
实例: PROCEDURE MAIN(P_ORGANIZATION_ID NUMBER, P_PERIOD_NAME VARCHAR2, XV_STATUS OUT VARCHAR, XV_MESG ...
- python返回null和空的不同
mysql数据库中有的字段是NULL, 有的字段是空白 写Python脚本,fetchall()得到结果,也是不同. NULL对应的是None, 空白对应的是'' (None, '') 所以根据结果进 ...
- 《JavaScript高级程序设计》读书笔记 ---创建对象
虽然Object 构造函数或对象字面量都可以用来创建单个对象,但这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码.为解决这个问题,人们开始使用工厂模式的一种变体. 工厂模式工厂 ...
- maven创建spring项目之后,启动报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoade
错误: org.apache.catalina.core.StandardContext listenerStart严重: Error configuring application listener ...
- Linux服务器建站基础-选择何种配置和安装环境项目
我们准备在搬瓦工笔记中,边整理和分享利用Linux VPS建站过程的同时,也会分享关于用户在选择和使用VPS服务器以及网站管理运营中的一些心得和建议.经常有很多网友在很多主机论坛.QQ群众问道,有没有 ...
- 实现自动备份MySQL数据库
#!/bin/bash base="/zsjdata/mysql/data" date=$(date +%Y%m%d) hour=$(date +%H) time=$(date + ...
- 笔记整理--C语言
linux下错误的捕获:errno和strerror的使用 - Google Chrome (2014/2/26 17:31:39) linux下错误的捕获:errno和strerror的使用 201 ...
- vb.net_介绍
手打 vb.net 是 visual basic.net的简称.提到vb.net,就不能不先提一下vb(Visual Basic) Visaul Basic是windows环境学的一个简单.易学的编程 ...
- 第二节windows系统下Xshell 5软件远程访问虚拟机 Linux系统
下载Xshell 5软件在windows下安装 安装好后Xshell 5启动软件 下一步,检查虚拟机,配置是否正确 下一步,设置网络,保障虚拟机系统能够连接网络 下一步,进入虚拟机系统,检查虚拟机网络 ...
- 简单的XML和JSON数据的处理
一.XML格式装换成json数据格式 using System; using System.Collections.Generic; using System.Linq; using System.W ...