在qt中,在網路通訊時,有時需要將16進製制位元組流轉換為base64編碼傳輸,在qt的qbytearray類中,提供了與base64轉換的介面:
//16進製制位元組流轉為base64
qbytearray tobase64(base64options options) const;
qbytearray tobase64() const; // ### qt6 merge with previous
//base64轉為16進製制位元組流
static qbytearray frombase64(const qbytearray &base64, base64options options);
static qbytearray frombase64(const qbytearray &base64); // ### qt6 merge with previous
測試**如下:
; qbytearray data = qbytearray(hexdata, 10);
//hex資料轉換為base64編碼,轉換後賦值給base64str
qstring base64str = data.tobase64();
//qbytearray::tohex(); //是將十六進製制資料,按照其字面值轉換為字串,比如: 0x12-->0x31 0x32,以字串輸出時就是「12」
qdebug()<<"hexdata: "<
執行結果:
hexdata: "0102030405060708090a" , base64: "aqidbaugbwgjcg=="
hexdata: "0102030405060708090a"
數字轉換為十六進製制數
給定乙個整數,編寫乙個演算法將這個數轉換為十六進製制數。對於負整數,我們通常使用 補碼運算 方法。注意 十六進製制中所有字母 a f 都必須是小寫。十六進製制字串中不能包含多餘的前導零。如果要轉化的數為0,那麼以單個字元 0 來表示 對於其他情況,十六進製制字串中的第乙個字元將不會是0字元。給定的數...
QByteArray轉換為十六進製制顯示
串列埠接受到的資料讀取出來是qbytearray,將它以十六進製制顯示在lineedit中。共有三種形式 形式一 顯示十六進製制的格式 收到字元 123 顯示為0x31,0x32,0x33 形式二 只顯示十六進製制的數字 收到字元 123 顯示為313233 形式三 顯示字元 收到字元 123 顯示...
陣列(九) 十進位制轉換為十六進製制
方法一 1 以60為例 假設為32位 60 除以 16 商 3 餘。12 3 除以 16 商 0 餘。3 2 然後將餘數倒過來,兩位數的餘數則轉化為字母。數字與字母對應 10 a 11 b 12 c 13 d 14 e 15 f 3 60的十六進製制為 0000003c 方法二 通過 運算和 右移運...