Qt中關於多位元組資料與QByteArray的轉化

2021-10-06 02:23:23 字數 741 閱讀 3067

今天在工作中遇到了乙個比較煩的內容,就是儲存乙個可變長度的多位元組。

本質實際就是儲存乙個可變長度的陣列,還要保留原先的位元組數目。

其實想了幾種方法,但是最終確定了一種方法,就是呼叫qbytearray乙個自己本身的方法:

qbytearray::

(const

char

*str,

int len)

;

這個函式的作用就是將某乙個數值,強制轉化為char*的型別進行儲存,並且可以設定儲存的位元組數。

在使用的時候,比如說儲存乙個整型量,並且希望保留4個位元組,則可以按照下面的形式書寫:

qbytearray arrtemp;

int idata =

999;

arrtemp.((

char*)

&idata,4)

;

//存入qbytearray

int arrints[10]

=;qbytearray array;

for(

int temp : arrints)

//還原

int arrtest[10]

;for

(inti(

0); i<

10; i++

)

上面介紹了兩種方法,本質都是記憶體的直接拷貝,如果後面發現了新的方法,就再更新。

STM32 HAL庫串列埠傳送多位元組資料

串列埠傳送16位元組資料 int16 t motorencoder uint8 t low,high high uint8 t motorencoder 8 low uint8 t motorencoder 0xff hal uart transmit huart1 low,1,0xff hal u...

C C 中各型別資料所佔位元組數

ref 和機器字長及編譯器有關係 所以,int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則 ansi iso制訂的 1.sizeof short int sizeof int 2.sizeof int sizeof long int 3.short int至少應...

C C 中位元組陣列與int型別轉換

1.c 中int和byte轉換 把int32型別的資料轉存到4個位元組的byte陣列中 int32型別的資料 4個位元組大小的byte陣列 public static bool convertinttobytearray int32 m,ref byte arry 把byte陣列中的前4個位元組轉換...