ASCII碼值轉化十六進位制,十進位制數;十六進位制字元值轉十進位制,ASCII碼值
阿新 • • 發佈:2018-12-16
用字元表示的十六進位制值轉化為十進位制,ASCII碼:
bool ok; QStringList list; //初始化list的內容為:list = ("30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "43", "44", "4D", "4E") //初始化list for(int i =0 ;i<10;i++) { QString temp = QString::number(30+i,10); list<<temp; } list<<"43"<<"44"<<"4D"<<"4E"; qDebug()<<"list ="<<list; //list的十六進位制數初始值 for(int i = 0 ;i<list.size() ;i++) { QString str_hex = list.at(i); //獲取十六進位制數 int dec = str_hex.toInt(&ok,16); //十六進位制轉十進位制 char st = dec; //十進位制數用char型別表示--->必須有此步直接轉化不可行 QString str_ascii = QString(st); //轉化為ASCII值 qDebug()<<" str_hex ="<<str_hex <<" dec ="<<dec <<" st ="<<st <<" ascii ="<<str_ascii; } //清空以便於之後的重新賦值 list.clear();
ASCII碼值轉十六進位制,十進位制數:
//初始化list for(int i =0 ;i<10;i++) { QString temp = QString::number(i,10); list<<temp; } list<<"C"<<"D"<<"M"<<"N"; qDebug()<<"list ="<<list; //list的ASCII碼初始值 for(int i = 0 ;i<list.size() ;i++) { QString str_ascii = list.at(i); //獲取ASCII值 QByteArray ascii = str_ascii.toLatin1(); //轉化為QByteArray型別便於轉化為十六進位制 QByteArray ascii_H = ascii.toHex(); //將ASCII值轉化為十六進位制數值 QString str_hex = QString(ascii_H).toUpper();//十六進位制數的大寫表示 int dec = str_hex.toInt(&ok,16); //十六進位制數轉化為十進位制數 qDebug()<<" str_ascii ="<<str_ascii <<" ascii ="<<ascii <<" ascii_H ="<<ascii_H <<" str_hex ="<<str_hex <<" dec ="<<dec; }
ASCII控制字元 :
ASCII可顯示字元: