1. 程式人生 > >QT---之QByteArray關於十六進位制賦值詳解

QT---之QByteArray關於十六進位制賦值詳解

本文章主要總結QByteArray類的用法,主要是總結如何給QByteArray的物件賦值十六進位制數和顯示該十六進位制數以及十六進位制數在QByteArray中的儲存形式,具體的例項如下所述:(字元表示的十六進位制數:'\xFF')

(Qt中QByteArray儲存的十六進位制數是0xff,實際是以ascll碼儲存的,儲存形式為'\xff'【\是轉碼標識】,所以如果需要比較的話,需要用array.at(0) == '\xff'表示,而不是array.at(0) == 0xff,)【單位是位元組,因此一位元組的十六進位制表示】

(要知道QByteArray裡面儲存的是int整數,還是字元'f',如果是int整數,則用int或者hex來判斷;如果是字元'f',則用字元'f'來判斷:

比如QByteArray內容為:ff,即QByteArray[0]=f,QByteArray[1]=f,則QByteArray裡面儲存的是兩個字元'f',而不是整數255.

比如QByteArray內容為:ff,即QByteArray[0]=ff,則QByteArray裡面儲存的是一個整數255,而不是兩個字元'ff'.)

1.1新建一個Widget工程,基類選擇為QWidget。在UI介面上拖入一個pushButton按鈕。

1.2新增按鈕的槽函式,在按鈕槽函式中新增如下程式碼:


1.3程式構建執行後,結果如下圖所示:

上述結果表明,array陣列的長度為1個位元組,可以直接用十六進位制數賦值給array陣列的第0位元組,即程式碼array[0] = 0xfE;  當賦值完十六進位制數後,這個十六進位制數就佔用array陣列的一個位元組,檢視該位元組的內容時,可以用函式toHex()將這個十六進位制數(佔空間一個位元組)顯示出來。用qDebug類可以完成,即程式碼qDebug()<<array.toHex();  可以實現該功能。當然,賦值十六進位制也可以用字元來表示'\x0fE' == 0xfE  ,即'\x0fE'跟0xfE是等效的。


--------------------- 
作者:淨無邪 
來源:CSDN 
原文:https://blog.csdn.net/naibozhuan3744/article/details/79094067?utm_source=copy 
版權宣告:本文為博主原創文章,轉載請附上博文連結!