随笔分类 -  Qt-QString

摘要:t使用Unicode来表示字符串。但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等。 Qt提供了QTextCodec类用于不同编码格式之间的转换。关于Qt字符串格式转换以及QTextCodec的使用方式,网上有很多资料 阅读全文
posted @ 2016-02-08 18:39 findumars 阅读(2291) 评论(0) 推荐(0) 编辑
摘要:Qt版本:5.5.1 Qt的QString功能丰富,对非英语语言的支持也不是问题,但支持得不够直接。例如,像 ? 1 QString str("死亡使者赛维"); 这样直接用带中文的字符串进行构造,那么用QMessageBox显示str时将出现乱码。如果使用fromLocal8Bit、fromLat 阅读全文
posted @ 2016-02-08 18:07 findumars 阅读(8414) 评论(0) 推荐(0) 编辑
摘要:Internationalization with Qt 应用程序的国际化就是使得程序能在国际间可用而不仅仅是在本国可用的过程。 Relevant Qt Classes andAPIs 以下的类支持Qt的国际化。 QTextCodec QTextDecoder QTextEncoder QTrans 阅读全文
posted @ 2016-02-01 20:02 findumars 阅读(4056) 评论(0) 推荐(1) 编辑
摘要:QTextCodec QTextCodec为文本编码之间提供转换。 Qt用Unicode 来存储,绘制和操作字符串。在很多情况下你可能希望操作不同编码的数据。例如,大部分日本文档是以Shift-JIS或 ISO 2022-JP进行存储,然而俄国用户的文档是以KOI8-R 或 Windows-1251 阅读全文
posted @ 2016-02-01 19:58 findumars 阅读(2472) 评论(0) 推荐(0) 编辑
摘要:看到群里有人在问怎么获取字符串的UTF8编码值自己测试了下 熟悉下函数[html] view plaincopyprint?ui->setupUi(this);QStrings=QString::fromUtf8("推广礼包");QStringunicode16=QString("");for(QS... 阅读全文
posted @ 2016-01-18 03:45 findumars 阅读(1945) 评论(0) 推荐(0) 编辑
摘要:这个函数用了这么久,到今天程序出错才发现这个问题。。。也就是说,必须设置QTextCodec *codec = QTextCodec::codecForName("System");toLocal8Bit才能转换成本地字符http://doc.qt.io/qt-5/qstring.html#toLo... 阅读全文
posted @ 2016-01-07 18:46 findumars 阅读(1087) 评论(0) 推荐(0) 编辑
摘要:char * 与 const char *的转换char *ch1="hello11";const char *ch2="hello22";ch2 = ch1;//不报错,但有警告ch1 = (char *)ch2;1234char 与 QString的转换char 转换为 QString其实方法有... 阅读全文
posted @ 2016-01-06 22:31 findumars 阅读(7949) 评论(0) 推荐(0) 编辑
摘要:接前一篇C++ ABI之名字改编(以Qt为例),继续看看C++名字改编相关的问题。问题MSVC 有一对选项/Zc:wchar_t-与/Zc:wchar_t控制wchar_t于是 wchar_t 可以是unsignedshort或__wchar_t(称为原生类型?) 的别名两个东西混用会怎么样?首先考... 阅读全文
posted @ 2016-01-06 01:18 findumars 阅读(919) 评论(0) 推荐(0) 编辑
摘要:http://blog.qt.io/blog/2014/06/13/qt-weekly-13-qstringliteral/https://woboq.com/blog/qstringliteral.html 阅读全文
posted @ 2016-01-06 00:56 findumars 阅读(792) 评论(0) 推荐(0) 编辑
摘要:注意:本文翻译自http://developer.qt.nokia.com中的UsingQStringEffectively,中文译文见简体中文版,如果你对翻译wiki感兴趣,请参考Wiki中文帮助本文解释了QString相关的各个类的用途。QLatin1String:避免操作符 "==" 中隐含的... 阅读全文
posted @ 2016-01-06 00:54 findumars 阅读(4813) 评论(0) 推荐(1) 编辑
摘要:原作者:OlivierGoffart点击打开链接http://woboq.com/blog/qstringliteral.html 译者:zzjin点击打开链接http://www.tuicool.com/articles/6nUrIrQStringLieral是Qt5中新引入的一个用... 阅读全文
posted @ 2016-01-06 00:36 findumars 阅读(749) 评论(0) 推荐(0) 编辑
摘要:原先QString("mystrr"),现在都不认了,必须都要加上L才行原先:m_conn->put_HttpProxyAuthMethod("Basic");现在:m_conn->put_HttpProxyAuthMethod(L"Basic");同理: handle = m_conn->op... 阅读全文
posted @ 2016-01-05 19:17 findumars 阅读(518) 评论(0) 推荐(0) 编辑
摘要:http://doc.qt.io/qt-5/qtextcodec.htmlhttp://doc.qt.io/qt-5/codec-gbk.html 阅读全文
posted @ 2015-12-31 18:01 findumars 阅读(774) 评论(0) 推荐(0) 编辑
摘要:https://github.com/qtproject/qtbase/blob/dev/src/corelib/tools/qstring.hC:\Qt\Qt5.3.2_min\5.3\mingw482_32\include\QtCore\qstring.h 阅读全文
posted @ 2015-12-31 17:36 findumars 阅读(657) 评论(0) 推荐(0) 编辑
摘要:作为非英语国家人员开发的类库,QT有充分的理由优先考虑支持Unicode和各国自定义字库编码。大家也知道了QT对软件Internationalization有一套完整的开发模型,包括专门为此写的linguist程序。但是如果我们的软件只运行在中文系统下,最简单的方法是什么呢?最简单的方法,就是在ma... 阅读全文
posted @ 2015-12-30 18:26 findumars 阅读(1082) 评论(0) 推荐(0) 编辑
摘要:1. 修改工程文件 .pro ,加入翻译源文件 hello_world.ts: TRANSLATIONS += \ Resource/translations/hello_world.ts写代码时需要注意下面两点:2. 源码用 utf-8 字符集3. 源码中需要翻译的字符串必须用英文(不能有中文或其... 阅读全文
posted @ 2015-12-29 21:58 findumars 阅读(2166) 评论(0) 推荐(0) 编辑
摘要:升级到Qt5.X之后,原先解决的Qt显示中文乱码的方法突然不适用了,找了很多方式来解决这个问题第一种:在公司代码里看到的方法,先将对应的cpp文件用windows自带的记事本打开,另存为UTF-8格式,然后在代码中,遇到中文字符,使用QStringLiteral("中文")进行修饰这种方式每次新建一... 阅读全文
posted @ 2015-12-28 17:48 findumars 阅读(16589) 评论(0) 推荐(3) 编辑
摘要:由于项目需要,需要对网络资源进行解码。遇到编码问题。研究了下基本编码原理。于是有了下面两个通用代码[cpp]view plaincopy1.16进制unicode转换为utf-8中文显示QStringunicodeToUtf_8(constQString&resStr){//unicode转utf-... 阅读全文
posted @ 2015-12-27 05:11 findumars 阅读(1411) 评论(0) 推荐(0) 编辑
摘要:Util::ShowMessage(QString::fromUtf8("ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸ€")); Util::ShowMessage(QString::fromUtf8("ÀÁ 阅读全文
posted @ 2015-12-21 19:20 findumars 阅读(1376) 评论(0) 推荐(0) 编辑
摘要:默认情况下,使用VSQT插件导入.pro后,会自动在项目文件里面预定义好宏UNICODE,可以把该宏去掉,以免造成其他程序,使用多字节的代码出错去除的两个方法1.打开Propject->Property->Configuration Properties->Processor去掉右边显示的宏2.在m... 阅读全文
posted @ 2015-11-21 00:41 findumars 阅读(1176) 评论(0) 推荐(0) 编辑