ASCII碼值轉化十六進制,十進制數;十六進制字符值轉十進制,ASCII碼值;

**用字符表示的十六進制值轉化爲十進制,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;

    }

這裏寫圖片描述

若有錯誤請諒解!

發佈了23 篇原創文章 · 獲贊 16 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章