Qt字符串類——3.字符串的轉換


(1)QString::toInt()函數將字符串轉換為整型數值,類似的函數還有toDouble()、toFloat()、toLong()、toLongLong()等。下面舉個例子說明其用法:

QString str="125";
bool ok;
int hex=str.toInt(&ok,16); //ok=true,hex=293
int dec=str.toInt(&ok,10); //ok=true,dec=125

(2)QString提供的字符編碼集的轉換函數將會返回一個const char類型版本的QByteArray,即構造函數QByteArray(const char)構造的QByteArray對象。QByteArray類具有一個字節數組,它既可以存儲原始字節(raw bytes),也可以存儲傳統的以“\0”結尾的8位的字符串。在Qt中,使用QByteArray比使用const char*更方便,且QByteArray也支持隱式共享。轉換函數有以下幾種。

  • ① toAscii():返回一個ASCII編碼的8位字符串。
  • ② toLatin1():返回一個Latin-1(ISO8859-1)編碼的8位字符串。
  • ③ toUtf8():返回一個UTF-8編碼的8位字符串(UTF-8是ASCII碼的超級,它支持整個Unicode字符集)。
  • ④ toLocal8Bit():返回一個系統本地(locale)編碼的8位字符串。

下面舉例說明其用法:

QString str=" Welcome to you! ";
QByteArray ba=str.toAscii();
qDebug()<<ba;
ba.append("Hello,World! ");
qDebug()<<ba.data();

一個NULL字符串就是使用QString的默認構造函數或者使用“(const char*)0”作為參數的構造函數創建的QString字符串對象;而一個空字符串是一個大小為0的字符串。一個NULL字符串一定是一個空字符串,而一個空字符串未必是一個NULL字符串。例如:

QString().isNull(); //結果為true
QString().isEmpty(); //結果為true
QString("").isNull(); //結果為false
QString("").isEmpty(); //結果為true


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM