Qt类型转换

1.char* -> QByteArray

    char* p=”test";
    QByteArray byte = QByteArray(p);

2.char* -> QString

    char* p=”test"; 
    QString string = QString(p);

3. QByteArray -> char*

    QByteArray byte("test"); 
    char* p = byte.data();

4. QByteArray -> QString

    QByteArray byte("hello world");
    QString string = byte;

5.QString -> QByteArray 

    QString string("test");
    QByteArray byte = string.toUtf8();

6.QString -> char* 

    QString string("test"); 
    char* p = string.toStdString().c_str();

7.utf8 -> gbk

    QTextCodec *utf8 = QTextCodec::codecForName("UTF-8");  
    QTextCodec::setCodecForLocale(utf8);
    QTextCodec* gbk = QTextCodec::codecForName("gbk");

    QString str1="您好";
    char *p=str1.toLocal8Bit().data(); //如此可以等到它的char*  
    
    //utf8 -> unicode
    QString unicode = utf8->toUnicode(str1.toLocal8Bit().data());
    //unicode -> gbk, 得到QByteArray
    QByteArray gb_bytes= gbk->fromUnicode(unicode);
    p =  gb_bytes.data(); //获取其char *  

8.gbk -> utf8
    QTextCodec *utf8 = QTextCodec::codecForName("UTF-8");  
    QTextCodec::setCodecForLocale(utf8);
    QTextCodec* gbk = QTextCodec::codecForName("gbk");

    QString str1="您好";
    char *p=str1.toLocal8Bit().data(); //如此可以等到它的char* 
    
    //gbk to unicode
    unicode=gbk->toUnicode(p);
    //unicode -> utf-8
    QByteArray utf8_bytes=utf8->fromUnicode(unicode);
    p = utf8_bytes.data(); //获取其char *    

 

你可能感兴趣的:(qt)