程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Qt中16進制數據的QByteArray與QString的轉換

Qt中16進制數據的QByteArray與QString的轉換

編輯:C++入門知識

背景介紹:

最近在做Qt串口相關PC機軟件的開發。於是涉及到很多IO的操作,而IO的接收經常會存放在QByteArray裡面。於是QByteArray和QString之間的轉換就不可避免。

像這種轉換,在網上已經很多了,這裡我著重介紹我在實際應用中的兩種方法,而且是轉換為16進制數的方法。

QByteArray to QString 的第一種方法:

/**************************************************************************/

QByteArray byteArrayTempInfo;

* * * *

byteArrayTempInfo.toHex();

/**************************************************************************/
這種方法比較方便,將AByteArray中的數據一下子轉換成了一個QString。


QByteArray to QString 的第二種方法:
/**************************************************************************/
QByteArray byteArrayTempInfo;
* * * *

unsigned char iTemp = byteArrayTempInfo.at(i);

QString str = QString::number(iTemp&0xff,16);

if(iTemp<10) str .insert(0,"0");  //注意

/**************************************************************************/
這種方法不如以第一種方法好用,要注意0xff的運用。同時有一個細節,要注意當有一些數據小於10的時候要補上0。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved