2017-09-06 675 views
3

我需要將QString即 已經以十六進制格式轉換爲QByteArray。例如:將十六進制字符串轉換爲QByteArray

QString a = "AF5603B4" 

應貯存在QByteArray爲:如何在Qt的5.9爲此

QByteArray ba[4] = { 0xAF, 0x56, 0x03, 0xB4 } 

?我嘗試過使用很多方法,但所有這些方法都將字符串轉換爲ASCII值,然後給出該十六進制值。

我發現Convert.toByte在C#中使用的方法; Qt中有沒有相當於我可以使用的?

回答

1

可以使用ByteArray::fromHex功能如下:

QString MyHexString ="AF5603B4"; 
QByteArray cmd = QByteArray::fromHex(MyHexString.toUtf8()); 

輸出

Screenshot

而且到的QByteArray轉換爲十六進制字符串:

QByteArray cmd; 
QString NewHexString = cmd.toHex(); 
相關問題