内容简介:wchar* 转char*与Qt下码制转换
wchar* 转char*
Windows下wchar* 转char*有3种方法
1、wcstombs —Qt下测试不好使
WCHAR wtxt[512]=L"something中文"; char txtRet[512]={0}; wcstombs(txtRet,wtxt, 2*wcslen(wtxt)+1 ); wcstombs_s(NULL,txtRet,512,wtxt,2*wcslen(wtxt)+1); //照样没效果,不知道为啥
2、WideCharToMultiByte —Qt下测试好使
WCHAR wtxt[512]=L"something中文"; char txtRet[512]={0}; WideCharToMultiByte(CP_ACP,0,wtxt,wcslen(wtxt),txtRet,512,NULL,NULL);
3、Qt下用QString中转 —好使
WCHAR wtxt[512]=L"something中文"; std::cout<<QString::fromStdWString(wtxt).toLocal8Bit().data()<<std::endl;
补充
Qt下宽窄字符转换与码制转换小技巧。
utf8 转gbk
QString::fromStdString(std::string("")).tolocal8bit().data()
Windows系统下系统默认的是gbk,tolocal8Bit就转成gbk了。
而Qt编辑器默认的编码是utf8。以下语句qt会默认是从utf8编码取的字符串。而如果你的源字符串std::string是从系统api获取的,很可能就是gbk。此时就要用另一种方式加载。
QString(std::string("中文").c_str())
指定字符串的源编码格式代码如下:
QString::fromLocal8Bit(std::string("中文").c_str())
本文永久更新链接地址 : http://www.linuxidc.com/Linux/2017-03/142021.htm
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- JavaScript进阶系列-类型转换、隐式类型转换
- Android 多国语言转换 Excel 和 Excel 转换为 string
- [SSL证书转换(一)]关于JKS 转换成 CRT 和 KEY
- c++中几种常见的类型转换。int与string的转换,float与string的转换以及string和long类型之间的相互...
- Protocol Buffer使用转换工具将proto文件转换成Java文件流程及使用
- 开源 | Alita:一套把 React Native 代码转换成微信小程序代码的转换引擎工具
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Smashing Book
Jacob Gube、Dmitry Fadeev、Chris Spooner、Darius A Monsef IV、Alessandro Cattaneo、Steven Snell、David Leggett、Andrew Maier、Kayla Knight、Yves Peters、René Schmidt、Smashing Magazine editorial team、Vitaly Friedman、Sven Lennartz / 2009 / $ 29.90 / € 23.90
The Smashing Book is a printed book about best practices in modern Web design. The book shares technical tips and best practices on coding, usability and optimization and explores how to create succes......一起来看看 《The Smashing Book》 这本书的介绍吧!