**用字符表示的十六進制值轉化爲十進制,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;
}
若有錯誤請諒解!