qt 字符串 轉換 hex


1. qt 中兩個字符的字符串直接轉換為 hex,類似於 ”1A" 要轉換成 16進制的 0x1A,使用 int QString::toInt(bool *ok, int base)。具體如下:

QString  str = "0x1A";
int value = str.toInt(nullptr, 16);
uint8_t tmp = static_cast<uint8_t>(str.toUInt(nullptr, 16));

2. 如果是字符串本身轉換為16進制,類似於 "1" 要轉換成 0x31,使用 QByteArray,其中有方法 toLatin1、toLocal8Bit, Latin1代表ASCII,Local8Bit代表unicode

QByteArray ar = str.toLatin1().toHex();

3. 如果是16進制轉為 QByteArray,可以用 setNum 函數

QByteArray().setNum( hex )


免責聲明!

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



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