qt之QByteArray亂碼問題解決

2021-10-23 07:24:54 字數 313 閱讀 8749

今天寫了乙個qq群聊實戰,當我儲存聊天記錄的時候,使用qfile直接寫入檔案,並沒有亂碼出現,但是當以流形式qdatastream寫入檔案的時候,就出現了亂碼,通過以下方式解決

//解決qbytearray亂碼問題

qbytearray content=ui->msgbrowser->toplaintext().toutf8();

qtextcodec *tc = qtextcodec::codecforname("gbk");

qstring str = tc->tounicode(content);

Qt之QByteArray類學習

qbytearray類提供了位元組陣列,包含於 標頭檔案中,從 q3cstring 類繼承而來。qbytearray可以儲存 raw bytes 和傳統的 8 bits 的字串,都是以 0 結尾的,使用比 char 更方便qstring也可以儲存字串資訊,但通常以 16 bits 形式unicode...

QT學習之QByteArray轉QString

方法一 如下 void mainwindow on startbtn clicked qbytearray badlt645frame for i 12 i qbytearray badlt645frametohex badlt645frame.tohex std string badlt645fr...

Qt 深受QByteArray的陷害

這兩天在維護以前寫的乙個服務端軟體,這軟體使用qt開發的。除錯了2天,終於找到了答案。原因正是我太相信qt的介面,qbytearray類提供了轉換成char 的介面,可以這麼轉換 qbytearray arr arr.tolatin1 data 中斷一下,以前在使用arr.toascii data ...