1. 程式人生 > >QT:QString、QByteArray和char *的轉換

QT:QString、QByteArray和char *的轉換

第一種,資料流的方式,這裡只說從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);