首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
QString::toLocal8Bit得听QTextCodec::codecForLocale的
】的更多相关文章
QString::toLocal8Bit得听QTextCodec::codecForLocale的
这个函数用了这么久,到今天程序出错才发现这个问题...也就是说,必须设置QTextCodec *codec = QTextCodec::codecForName("System");toLocal8Bit才能转换成本地字符http://doc.qt.io/qt-5/qstring.html#toLocal8Bit 如果系统Codec设置成UTF-8,那么toLocal8Bit转换立刻就乱套了.但不知怎么才能系统Codec设置UTF-8,又不影响QString转换成本地字符?…
Qt中 QString 和int, char等的“相互”转换,关键是QString.toLocal8Bit().data();
Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString::number(a, 10); // s == "63" QString t = QString::number(a, 16).toUpper(); // t == "3F" long a = 63; QString s = QString::number(a, 10);…
QTextCodec::makeDecoder函数,plugins需要是动态链接库
QT中的QString内容使用Unicode作为文本编码.但是实际系统中通常采用的是其他编码,例如GBK,utf8等.为了便于兼容这些格式,QT中还设置了两个字符串类型: QCString类: C类型字符串,必须以0结尾,也就是中间不能含有0. 例如GBK编码的字符串 QByteArray类: 中间可以含有0.例如utf8编码的字符串 为了便于编码转换,QT还提供了一套具备扩展性的编码转换器: QTextCodec 这个类定义了编码转换器的接口,可以以插件方式继承这个类,实现各种编码转换器. 当…
Qt中使用的编码QTextCodec::
//如果界面上的中文依然显示乱码,那么请将main.cpp文件中的: QTextCodec::setCodecForTr(QTextCodec::codecForLocale()); //更改为: QTextCodec::setCodecForTr(QTextCodec::codecForName(“GB2312″)); QString(trUtf8("↑")): QString(trUtf8("中国"));…
Qt之QTextCodec乱谈
何处开始呢? 一旦在Qt程序中出现latin1字符集以外的字符,几乎大家无一例外的会用到 QTextCodec. 而不少网友不分青红皂白,一旦用到中文,就同时使用下面3条指令(其中textc 取为 gb18030 或 utf8,还有的会选用system). QTextCodec::setCodecForCStrings(textc); QTextCodec::setCodecForTr(textc); QTextCodec::setCodecForLocale(textc); 可是这3个东西有什…
Qt532的QString输出各种编码的16进制数组(测试代码)
环境:Win7x64.Qt5.3.2 MSVC2010 OpenGL.vs2010 1.只测试了 4种:Utf8.Latin1.Local8Bit.unicode 2.测试代码:(这个是 "MainWindow.cpp",文件的编码方式是 "UTF8 + BOM") #include "MainWindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget…
QString::QString 中文乱码
QString::QString 中文乱码 处理方法: 1. QString str = QString::fromLocal8Bit("中文"); // vs2008 vs2005 2. QString str = QString::fromLocal8Bit("中文"); // gcc vs2003, 如源码是 GBK 编码(记事本中的 ANSI 编码) 3.QString str = QString::fromUtf8("中文"); …
QString够绕的,分为存储(编译器)和解码(运行期),还有VS编译器的自作主张,还有QT5的变化
多读几篇,每篇取几句精华加深我对QString的理解. ------------------------------------------------------------------ QString内部仍采用UTF-16存储数据且不会改变,但它读char*的时候(C++语言里最常见的形式,特别对于const来说是这样),默认按照latin1来解读字符串,这就造成乱码. QString的成员函数知道按照何种编码来处理 C 字符串QString QString::fromAscii ( con…
QString 和std::string互转
std::string cstr; QString qstring; //****从std::string 到QString qstring = QString(QString::fromLocal8Bit(cstr.c_str())); //****从QString 到 std::string cstr = string((const char *)qstring.toLocal8Bit());…
【转】QT QString, wchar_t *, TCHAR, CString和其他字符或字符串类型的转化
//QString to wchar_t *: const wchar_t * encodedName = reinterpret_cast<const wchar_t *>(fileName.utf16()); //QString to char * given a file name: QByteArray fileName = QFile::encodeName(aFileName); const char * encodedName = fileName.constData(); //…
QString类
1.将QString所有字母大写 QString.toUpper() 2.将QString所有字母小写 QString.toLower() 3.获取字符串的字符数 QString.length() 4.获取字符串的字节数 QString.toLocal8Bit().length(); 5.获取字符串的某个字符 QString str = QString.mid(a,b);//返回从0开始数第a个字符,截取b个字符 6.格式化输出,输出指定位数的数字 int a = 10: QString tem…
string与QString之间的转换(两种方法:fromStdString直接转换,或者fromLocal8Bit(cstr.c_str())
string str;QString qstr; //从QString 到 std::stringstr = qstr.toStdString(); //从std::string 到QStringqstr = QString::fromStdString(str); -------------------------------------------------------------std::string cstr;QString qstring; //从std::string 到QStri…
QString转换为LPTSTR(使用了reinterpret_cast,真是叹为观止,但是也开阔了思路),三篇文章合起来的各种转换方法
醉了,windows下宏定义了很多char类型 LPTSTR .今天,直接使用,qt报错,真TM费事. 将“CPU”转化为wcha_t * QString str = "CPU"; const wchar_t * str_cpu = reinterpret_cast<const wchar_t *>(str.utf16());//char * 转换为 wchar_t * 类型 下面这篇blog很好 QT QString, wchar_t *, TCHAR, CString和…
QString std::string 相互转 含中文
std::string cstr;QString qstring; //QString str1 = " D:\\参考手册\\BIM\\osg\\build1.OSGB"; //从std::string 到QString qstring = QString(QString::fromLocal8Bit(cstr.c_str())); //从QString 到 std::stringcstr = string((const char *)qstring.toLocal8Bit()); /…
QT笔记之VS2012 TCP传送文件
注意:工程监理后,因为用到网路,所以要加入对应的库 服务器: .h #ifndef TCPFILE_H #define TCPFILE_H #include <QtWidgets/QWidget> #include "ui_tcpfile.h" #include <QtNetwork/QTcpServer>//监听套接字 #include <QtNetwork/QTcpSocket>//通信套接字 #include <QFile> #in…
qt 总结
Qt中的每个类,都有一个对应的同名头文件,其中包含其类定义.例如要使用QApplication类,则需要在程序中添加" #include <QApplication>" QApplication类用于管理应用程序范围内的资源.其构造函数需要main函数的argc和argv作为参数. widget被创建时都是不可见的(always created hidden).widget中可容纳其它widget. Qt中的widget在有用户行为或状态改变时会emit sig…
Qt国际化(Q_DECLARE_TR_FUNCTIONS() 宏给非Qt类添加翻译支持,以前没见过QTextEncoder和QTextDecoder和QLibraryInfo::location()和QEvent::LanguageChange)
Internationalization with Qt 应用程序的国际化就是使得程序能在国际间可用而不仅仅是在本国可用的过程. Relevant Qt Classes andAPIs 以下的类支持Qt的国际化. QTextCodec QTextDecoder QTextEncoder QTranslator QLocale Languages and WritingSystems 有时,国际化是比较简单的,例如,把美国的应用程序让澳大利亚或英国的用户可访问,只需要简单的改变拼写.但是,把美国的…
Qt浅谈之总结(整理)
Qt浅谈之总结(整理) 来源 http://blog.csdn.net/taiyang1987912/article/details/32713781 一.简介 QT的一些知识点总结,方便以后查阅. 二.详解 1.获取屏幕的工作区的大小 { //获取屏幕分辨率 qDebug()<< "screen width:"<<QApplication::desktop()->width(); qDebug()<< "screen height:…
qt的udp的初步使用(转)
该程序实现的功能是:局域网内,每个用户登录到聊天软件,则软件界面的右端可以显示在线用户列表,分别显示的是用户名,主机名,ip地址.软件左边那大块是聊天内容显示界面,这里局域网相当于qq中的qq群,即群聊.每个人可以在聊天输入界面中输入文字并发送.其聊天界面如下: 该程序实现的是每个用户登录既是客户端又是服务器端,这就需要看你站在哪个角度看问题了.简单的说,当用户发送信息给别人时就是客户端,当接收别人的信息是就可以看做是服务器端. 下面分服务器端和客户端2部分来介绍. 服务器端:建立一个UDP S…
QT字符编码转换,可用于中文内码传输
串口.TCP.UDP传输中文字符时,先将字符串转内码.客户端接收到数据后,将内码转为字符串就OK了 QByteArray CommonFunction::strToInterCode(constQString &str)//字符串转内码 { QString strName = str.toLocal8Bit(); QByteArray code; code.append (strName); while(code.count()<8) { code.append (QByteArray::f…
QT笔记之解决QT5.2.0和VS2012中文乱码 以及在Qt Creator中文报错
转载:http://bbs.csdn.net/topics/390750169 VS2012 中文乱码 1.方法一: 包含头文件 #include <QTextCodec> ....... QTextCodec *codec = QTextCodec::codecForLocale();//解决中文乱码 QString title = codec->toUnicode("完成"); QString info = codec->toUnicode("接收…
Qt开发中的实用笔记二--中文转码问题和string转换问题:
一,中文乱码转码问题 1,转码三句话:window下默认是GBK格式,linux下默认是UTF-8,看情况转换UTF-8/GBK QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForCStrings(QTextCodec…
qt中文乱码问题
首先,声明一下,QString 是不存在中文支持问题的,很多人遇到问题,并不是本身 QString 的问题,而是没有将自己希望的字符串正确赋给QString. 很简单的问题,"我是中文"这样写的时候,它是传统的 char 类型的窄字符串,我们需要的只不过是通过某种方式告诉QString 这四个汉字采用的那种编码.而问题一般都出在很多用户对自己当前的编码没太多概念, 于是 一个简 单的 Qt 程序 下面这个小程序,估计大家会感到比较亲切.似乎有相当多的中文用户尝试写过这样的代码: #in…
ANSI,UTF8等等这些格式
之前一直在纠结这些格式到底有什么区别,有时候因为格式的问题会让人抓狂. 下面通过实战来分析下: 下面在windows上建立一个txt文档.txt的优势是没有文件头,这样比较好分析. ANSI格式: 可以看到,0D0A是\r\n,可以忽略,这里的蛤被识别成B8 F2 UTF-8无BOM: 这里的英文字母还是ASCII格式,汉字在这里被识别成 E8 9B A4 UTF-8: 英文字母是ASCII,这里前面多了三个字节: EF BB BF,这个东西可能是BOM 蛤被识别成E8 9B A4 UCS2 大…
Qt数据库操作(qt-win-commercial-src-4.3.1,VC6,Oracle,SQL Server)
qt-win-commercial-src-4.3.1.qt-x11-commercial-src-4.3.1Microsoft Visual C++ 6.0.KDevelop 3.5.0Windows Xp.Solaris 10.Fedora 8SQL Server.Oracle 10g Client ■.驱动编译这里要提及两个数据库驱动,分别是ODBC和OCI Windows操作系统中编译ODBC驱动:执行以下命令,会在%QTDIR%\plugins\sqldrivers目录下面生成qsql…
[QT]抄—影像显示实验
QtCreator新建一个Qt Application,命名为ImageView 在项目文件夹下添加gdal库,统一放在ImageView\gdal目录下. 右键单击项目,选择添加库命令,添加gdal_i.lib和头文件路径,完成后可以再ImageView.pro文件中查看: win32: LIBS += -L$$PWD/gdal/lib/ -lgdal_i INCLUDEPATH += $$PWD/gdal/include DEPENDPATH += $$PWD/gdal/include Ma…
自学QT笔记
前言: Qt 是一个跨平台的 C++图形用户界面库,由挪威 TrollTech 公司于1995年底出品. Trolltech 公司在 1994 年成立,但是在 1992 年,成立 Trolltech 公司的那批程序员 就已经开始设计 Qt 了,Qt 的第一个商业版本于 1995 年推出. 2008年1月31日,Nokia公司宣布通过公开竞购的方式收购TrollTech公司,旗下包括Qt在内的技术都归入Nokia旗下.并且Nokia针对自己的移动设备平台规划的需要,将Qt按不同的版本发行. Qt商…
重拾qt
最近公司又接了一个煤矿的项目,要写个小程序摘取数据,我是公司唯一c++程序员,本来搞ios搞好好的,现在又得重拾半年没摸得qt了.呵呵...呵呵呵. 这里只记录这次小程序的一些小的总结吧.. 1.中文字符: 函数:把一般字符串转为中文字符串: //中文处理 QString mysqlServerTs:: handleTheChinesCode(const char*words){ QTextCodec* tc = QTextCodec::codecForLocale(); return tc->…
Qt 读取txt文件乱码的解决办法
Qt 读取txt文本乱码问题 2015-05-20 15:46 方法一:使用QString的fromLocal8Bit()函数 复制代码 QFile txtfile(filePath); QString tmpStr; if(txtfile.open(QIODevice::ReadOnly)) { QTextCodec::setCodecForLocale(QTextCodec::codecF…
C++ GUI Qt4编写的文本编辑器
mainwindow.h: #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMenu> #include <QAction> #include <QFont> #include <QToolBar> #include <QLabel> #include <QComboBox> #include <QLineEdit> #include <QTextEdit&g…