QString字串中雙引號的梗

2021-09-07 19:36:03 字數 1343 閱讀 4397

qstring字串不支援雙引號

最近做專案(本地環境:win10 + qt5.9.2 + vs2017)。有個需求,需要實現形如 "key="123456"" 這樣的字串。

查了很多資料,發現qstring是沒法實現願望的。

但是,std::string可以實現字元中雙引號的夙願,只要加反斜槓即可。

於是,有了下面的 demo示例。

應用例項

**如下(備註:比較簡單,僅僅貼cpp檔案): 7

int main(int argc, char *ar**)828

29 inline qbytearray qbytearray::fromstdstring(const std::string &s)

3033

#endif

34 std::string strvalue = "

key=\"4008001234\"";

35 qbytearray stdbyte =qbytearray::fromstdstring(strvalue);

36 qstring strstdmd5 =qcryptographichash::hash(stdbyte, qcryptographichash::md5).tohex();

37 qdebug() << "

strstdmd5 ::

"<< strstdmd5; //

"f43fa89e23dae10edc6545ebb14aada9"

3839

return

a.exec();

40 }

總結:qstring的確不支援雙引號,但是可以變換思路,為了構建qbytearray型別的引數,我們可以使用std::string實現字串中雙引號的夢想。

除錯結果

有人或許看了上面例項會反問,僅僅從加密得出的字串不同就可以判定後者是加了雙引號嗎?的確說服力不夠。

從**可以確定加密的字串是加雙引號的呢?正如部落格首頁所述:編碼以明志,除錯而致遠。

可以看看下面的兩張除錯截圖:

(1)qstring字串轉換為qbytearry後的結果

(2)std::string字串轉換為qbytearray後的結果

相信這樣可以更篤定,且更喜歡除錯的魅力。

good good study, day day up.

順序  選擇  迴圈  總結

如何在字串中新增雙引號

在 雙引號前新增轉義符 字串裡有雙引號,該如何表示呢?答 在雙引號前,加反斜槓 例 字串 at cscs gsm 表示為 at cscs gsm 轉義字元 轉義字元是一種特殊的字元常量。轉義字元以反斜線 開頭,後跟乙個或幾個字元。轉義字元具有特定的含義,不同於字元原有的意義,故稱 轉義 字元。例如,...

python中字典轉字串單引號變雙引號

兩種方法 str 以及json.dumps 注意 單引號雙引號的區別 str方法將其變為單引號,json.dumps方法仍是雙引號!import json d print type d str d str d print str d str d print str d的型別 type str d j...

字串拼接的雙引號和單引號問題,轉義字元

有這麼一句話,想要字串拼接後得到這麼一句話。裡面的組織需要單引號引出,而不是雙引號。最初始是這樣。var org 00000000000000000028 console.log 這樣輸出結果是 沒有單引號。後來改成了這樣。var org 00000000000000000028 console.l...