QByteArray、QString、以及编码转换

QByteArray将字节流转换成ACSII编码

    QByteArray byt("123456");
    QByteArray byteHex = byt.toHex();
    qDebug()<<"QByteArray将字节流转换成ACSII编码:"<<byteHex;
    
    "313233343536"

QByteArray将ACSII编码转字节流

    QByteArray bytee("31323334");
    QByteArray byteFromHex = QByteArray::fromHex(bytee);
    qDebug()<<"QByteArray将ACSII编码转字节流:"<<byteFromHex;
    
    "1234"

QByteArray转char、转QString

    //QByteArray
    QByteArray arr("123abc我");
    qDebug()<<"QByteArray:"<<arr;
    
    "123abc\xE6\x88\x91"
    
    //QByteArray转char
    char* aa=arr.data();
    qDebug()<<"QByteArray转char:"<<aa;
    
    123abc我
            
    //QByteArray转QString
    QString str(arr);
    qDebug()<<"QByteArray转QString:"<<str;
    
    "123abc我"

QString转QByteArray

    QString st("123abc小马哥");
    QByteArray byte1 = st.toLatin1(); //按照ASCII编码转换,无法转换中文
    QByteArray byte2 = st.toUtf8();  //按照Utf-8编码转换,可以转换中文
    QByteArray byte3=st.toLocal8Bit();//按照GBK转换,可以转换中文
    qDebug()<<"QString转QByteArray转ASCLL:"<<byte1;
    qDebug()<<"QString转QByteArray转UTF-8:"<<byte1;
    qDebug()<<"QString转QByteArray转GBK:"<<byte1;
    
    "123abc???"
    "123abc???"
    "123abc???"

将字节流转成QString

    QString str=QString::fromLocal8Bit(array);//按照GBK转换,可以转换中文
    QString str=QString::fromUtf8(array);//按照Utf-8转换,可以转换中文
    QString str=QString::fromLatin1(array);//按照ASCLL转换,可以转换中文

QString转char

    QString str1("123abc小马哥");
    QByteArray byte = str1.toUtf8();
    char* str2 = byte.data();
    qDebug()<<"QString转char"<<str2;
    
    123abc小马哥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值