精华内容
下载资源
问答
  • QByteArray QString Base64 UTF8

    千次阅读 2016-05-12 09:53:11
    QByteArray bytearray64 = jsonValue.toString().toUtf8(); QByteArray bytearraytheme = QByteArray::fromBase64(bytearray64);  QString temp = QString::fromUtf8(bytearraytheme);
    QByteArray bytearray64 = jsonValue.toString().toUtf8();
    QByteArray bytearraytheme = QByteArray::fromBase64(bytearray64);

                            QString temp = QString::fromUtf8(bytearraytheme);

    1. QByteArray cstr("abcd");  
    2. QString s = cstr;   
    3.   
    4. QByteArray cstr("abcd");  
    5. QString s;  
    6. s.prepend(cstr);  
    7.   
    8. QString s("hello");  
    9. QByteArray cstr = s.toAscii();  
    10.   
    11. QString s("hello");  
    12. QByteArray cstr = s.toLatin1();  

    QByteArray类同样不以'\0'为结尾:如

    [cpp]  view plain  copy
      在CODE上查看代码片 派生到我的代码片
    1. QByteArray s;  
    2. s.resize(5);  
    3. s[0] = '1';  
    4. s[1] = '2';  
    5. s[2] = '3';  
    6. s[3] = '\0';  
    7. s[4] = 'a';  
    8.   
    9. cout << s << endl;  

    第一种,数据流的方式,这里只说从QByteArray转向QString。
    QByteArray encodedString = "xxx";
    QTextCodec *codec = QTextCodec::codecForName("KOI8-R");
    QString string = codec->toUnicode(encodedString);
    第二种,常用的,网上看到的。
    //常用参数类型:char *字符串, QByteArray字符数组, QString字符串
    //需要转换:char * ---转--- QByteArray ---需要调用QByteArray类的构造函数
    char*     --------------QByteArray(const char*)-----------> QByteArray
    char* str;
    QByteArray byte(str);
    char*     --------------QString(const char*)-------------->QString
    char* str;
    QString string(str);
    QByteArray   -------------data()-------------------->char*
    QByteArray byte;
    char* str = byte.data();
    QByteArray ------------QString()------------------->QString
    QByteArray byte;
    QString string(byte);
    QString --------------toAscii()--------------------> QByteArray
    QString string;
    QByteArray byte = string.toAscii();
    QString -------------qPrintable()------------------>char*
    QString string;

    char* str = qPrintable(string);


    展开全文
  • 公司代码有多国语言支持,遇到需要使用QString转char 网上很多人一碰到编码问题就无脑的Copy上面3行…… 从Qt5开始只剩下setCodecForLocale这一个了,只是影响Qt对toLocal8Bit相关函数的编码方式 QTextCodec::...

    公司代码有多国语言支持,遇到需要使用QString转char

    网上很多人一碰到编码问题就无脑的Copy上面3行……
    从Qt5开始只剩下setCodecForLocale这一个了,只是影响Qt对toLocal8Bit相关函数的编码方式

    1. QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));  
    2. QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));  
    3. QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));  

    查了一上午最终发现只需要将文本编码方式转一下就好

    转自:https://blog.csdn.net/AmyAndTommy/article/details/82256454

    任何编码先转换成统一编码toUnicode(),然后再转出fromUnicode();

    gb2312转utf8:

        QString ssss=QString::fromLocal8Bit("ceshi我是测试");  //注意此处定义gb2312编码的方式,要使用fromLocal8Bit()
        gb2312ToUtf8(ssss);

    utf8转gb2312:

        入参是utf8编码的字符数组

    (注意参数的编码格式一定要对,否则转换不出来,尤其是gb2312ToUtf8()这个函数,极为容易传入unicode编码格式的参数)

    上代码:

            void gb2312ToUtf8(QString strGb2312)
            {
                printf("@@@ gb2312 str is:%s\n",strGb2312.toLocal8Bit().data());
                QTextCodec* utf8Codec= QTextCodec::codecForName("utf-8");
                QTextCodec* gb2312Codec = QTextCodec::codecForName("gb2312");
            
                QString strUnicode= gb2312Codec->toUnicode(strGb2312.toLocal8Bit().data());
                QByteArray ByteUtf8= utf8Codec->fromUnicode(strUnicode);
         
                char *utf8code = ByteUtf8.data();
                printf("@@@ Utf8  strGb2312toUtf8:%s\n",utf8code);
            }
         
        ///
         
            void utf8ToGb2312(char *strUtf8)
            {
                printf("~~~~ utf8  str is:%s\n", strUtf8);
                QTextCodec* utf8Codec= QTextCodec::codecForName("utf-8");
                QTextCodec* gb2312Codec = QTextCodec::codecForName("gb2312");
                
                QString strUnicode= utf8Codec ->toUnicode(strUtf8);
                QByteArray ByteGb2312= gb2312Codec ->fromUnicode(strUnicode);
            
                strUtf8= ByteGb2312.data();
                printf("~~~~~ gb2312    strUtf8toGb2312:%s\n", strUtf8);
            }

    修改了一下utf8ToGb2312使之转换后的gb2312字符串类型为QString:

            QString utf8ToGb2312(char *strUtf8)
            {
                printf("~~~~utf8  strUtf8:%s\n", strUtf8);
                QTextCodec* utf8Codec= QTextCodec::codecForName("utf-8");
                QTextCodec* gb2312Codec = QTextCodec::codecForName("gb2312");
                
                QString strUnicode= utf8Codec ->toUnicode(strUtf8);
                QByteArray ByteGb2312= gb2312Codec ->fromUnicode(strUnicode);
            
                strUtf8= ByteGb2312.data();
                printf("~~~~~gb2312    strUtf8toGb2312:%s\n", strUtf8);
                return QString::fromLocal8Bit(strUtf8);//注意这里要fromLocal8Bit()
            }

    转自:https://blog.csdn.net/AmyAndTommy/article/details/82256454

    展开全文
  • QString toLatin1 toUtf8 toLocal8Bit toUtf8utf8字符集以2个或以上的字节表示一个汉字。实际上具体的数值和unicode有很大的相关 toLatin1:ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF ...

    QString 转toLatin1 toUtf8 toLocal8Bit
    toUtf8:utf8字符集以2个或以上的字节表示一个汉字。实际上具体的数值和unicode有很大的相关
    toLatin1:ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF
    toLocal8Bit:gb18030字符集兼容了gbk字符集,以两个字节表示一个文字。windows系统可能使用的就是这两种的一种

    展开全文
  • Qt将QString转换ASCII码

    万次阅读 2019-05-22 05:48:52
    Qt将QString转换ASCII码 原理很简单,获取字符串的UTF-8编码,然后逐个读取强转int类型即可。...QByteArray byte = s.toUtf8(); for(int i = 0; i < s.size(); i++) { qDebug() << int(byte.at(i)...

    Qt将QString转换成ASCII码

    原理很简单,获取字符串的UTF-8编码,然后逐个读取强转成int类型即可。

    QString s = "Three Second 三秒";

    QByteArray byte = s.toUtf8();

    for(int i = 0; i < s.size(); i++)

    {

        qDebug() << int(byte.at(i))//输出;

    }

    这样即可将字符串转换为ASCII码了,注意这里的汉字是算作一个字符来看的,也就是说转换时获取的时汉字的低位形式。这个用来做中英文识别非常好用,然后也可以根据ASCII码判断半角符号与非半角符号。

     

    QString input_string = ui->lineEdit->text();

    int random;

    for(int i = 0; i <= input_string.length(); i++)

    {

        random = input_string.at(i).toAscii();

    }

    ui->lineEdit_2->setText(QString::number(random));

    上面是代码、比如二进制的acd  就可以转化成ascii45 89 90 这样的二进制码

     

    Qt十六进制转十进制转ascii码,将它写成了内联函数:

    //返回16进制数的ascii码值

    inline int ServeWidget::changefromHex_to_ascii(QString str)

    {

        QString str_hex = str;                //获取十六进制数

        int dec = str_hex.toInt(0,16);          //十六进制转十进制

        char st = dec;                       //十进制数用char类型表示--->必须有此步直接转化不可行

        QString str_ascii = QString(st);        //转化为ASCII

        int str_int = str_ascii.toInt();           //转化为int

        return str_int;                       //返回十六进制符号的ascii码值

    }

     

     

     

    ASCII控制字符

    https://img-blog.csdn.net/20180321175211440?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMTk0NDk4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

     

     

    ASCII可显示字符

    https://img-blog.csdn.net/20180321175259252?watermark/2/text/Ly9ibG9nLmNzZG4ubmV0L3FxXzQwMTk0NDk4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

    展开全文
  • 1.std::string QString QString StrToQStr(const char* s) { if ( NULL == code ) { code = QTextCodec::codecForName("GBK"); if ( NULL == code ) { code = QTextCodec::codecForName("GB18030");...
  • QString转换LPCWSTR

    千次阅读 2018-06-26 10:08:35
     const ushort * utf16 () const  TCHAR理论上也是对的,但初始化之后,接下去不知道该怎么用了: TCHAR* szLogin = new TCHAR[MAX_LENGTH]; memset(szLogin, 0, MAX_LENGTH);   如果只是转换常量的...
  • PyQt QString转成python stirng

    千次阅读 2016-04-07 19:04:44
    参考文章:... def QString2PyString(self, qStr): # # QString,如果内容是中文,则直接使用会有问题,要转换 python string return unicode(qStr.toUtf8(), 'utf-8', 'ig
  • #ifndef _QT_UTF8_H #define _QT_UTF8_H #include &lt;QString&gt; #include &lt;string&gt; using std::string; class AfUtf8 { public: // QString(Unicode) -&gt; std::str...
  • Qt QString转换ASCII码

    千次阅读 2020-04-29 17:38:22
    QString str = "C:\Users\Desktop\test.txt"; QByteArray byte = str.toUtf8(); for(int i = 0; i < str.size(); i++) { qDebug() << byte.at(i); }
  • This may sounds like a obvious question, but I'm missing something about either how UTF-8 is encoded or how the toUtf8 function works.Let's look at a very simple programQString str("Müller");...
  • QString转成char*注意正确用法

    千次阅读 2011-01-11 09:50:00
    QString转成char*注意正确用法
  • QString转HTuple

    千次阅读 2018-02-23 21:47:30
    QString转HTuple
  • QString转ASCII

    2020-11-20 17:42:59
    将 char Buff[]数组中的数据转换成QString数据,例如:将0x41转换“A”,就是将Char转成ASCII所对应的字母
  • QString内部采用的是unicode编码,但是unicode编码有很多种,在实际应用时应制定具体的编码形式,常见的有GBK、GB2312和UTF-8等。 UTF-8是解决国际上字符的一种多字节编码,它包含全世界国家所用到的所有字符,通用...
  • QString转QJsonValue

    千次阅读 2018-09-07 14:48:47
    QJsonValue stringToJson(const QString &amp;str) {  QString context = QString("{%1}"... QJsonDocument doc = QJsonDocument::fromJson(context.toUtf8(), &amp;err); ...
  • QString 转换 wchar

    千次阅读 2015-03-17 11:18:20
    QString 转换 constwchar_t *   const wchar_t * tablename =reinterpret_cast&lt;const wchar_t *&gt;(name.utf16());  
  • QByteArray(UTF8编码串)转QString

    千次阅读 2013-04-04 21:39:56
    QTextCodec *tc = QTextCodec::codecForName("UTF8"); QByteArray ba = 读到的QByteArray串; QString str = tc->toUnicode(ba); cout 这个时候,就能够正常显示中文了。
  • QString转QByteArray

    2021-06-23 10:49:47
    QString sendInfo = ui->tEditSendInfo->toPlainText(); QByteArray ba = sendInfo.toUtf8();//中文不是乱码 QByteArray ba = sendInfo.toLatin1();//中文是乱码 收到的字符为“???”
  • 平常转换没怎么注意,一般QString转换QByteArray不会出现问题,今天涉及到QJsonDocument类,转换出现以下问题: 1、用toLocal8Bit() QJsonDocument::fromJson(stringData.toLocal8Bit(), &jsonError); // 转化为...
  • QString转LPTSTR

    2021-04-23 00:19:32
    LPTSTR是一个wchar_t类型的指针 LPTSTR str = (wchar_t *)str_lp.utf16(); //unicode编码所以是utf16
  • QT将表格中的数据读取出来(QString),在使用QString 转换对应的ASCII值(char)用于再在数组中传输 :例如:“A” 转换 int或者char
  • string与QString转换

    2016-12-05 20:44:02
    AtUtf8.h #ifndef _QT_UTF8_H #define _QT_UTF8_H #include #include using std::string; class AfUtf8 ... // QString(Unicode) -> std::string (UTF8) static string ToString(const QString& qstr)
  • QString char*

    2019-05-20 19:00:40
    1、QString 类型char*类型(需考虑QString变量是否包含中文,不然会乱码) 法一:先将QString转换为标准库中的string类型,然后将string转换为char* std::string str = filename.toStdString(); const char* ch...
  • QStringList> #include <QList> #include <QString> #include <QListWidgetItem> #include <QTableWidgetItem> #include <QTableWidget> #include <QMessageBox> #include &...
  • qstring转string

    2019-03-21 15:24:00
    Qt的QString功能丰富,对非英语语言的支持也不是问题,但支持得不够直接。例如,像 1 QStringstr("死亡使者赛维"); 这样直接用带中文的字符串进行构造,那么用QMessageBox显示...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,005
精华内容 4,002
关键字:

qstring转成utf8