[問題] QT中的ByteArray 轉string

看板C_and_CPP (C/C++)作者 (Ray)時間14年前 (2011/10/12 10:47), 編輯推噓0(005)
留言5則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) GCC 問題(Question): 這個問題的背景是 我從http中讀取一個網頁(自己產生的加密檔 所以其實是二進位轉出來的一堆亂碼) 然後我想在client端將之解密 結果卻遇到讀進來的 QByteArray 轉換成QString 時 長度不如預期(原本應該有4xx個字元卻剩下18個字) 轉換的方式我嘗試過很多種 不管是 QString str(inputBA); inputBA.constData(); inputBA.data(); 也許還有我沒想到的方法 只是我覺得也許是剛好加密過後的某一段二進位剛好是"\0" 所以就被截斷了 如果是這樣那某些text editor怎麼有辦法print出"完整的亂碼"呢? 十分疑惑~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.121.14

10/12 18:05, , 1F
直接用 QByteArray 解密就好啦, 何必先轉成 QString...
10/12 18:05, 1F

10/13 10:49, , 2F
QString 是拿來存明文的 Unicode 文字
10/13 10:49, 2F

10/15 17:13, , 3F
對啦~ 我的疑問只是為什麼別人可以印出"完整的亂碼"呢?
10/15 17:13, 3F

10/19 01:49, , 4F
那些印不出的字元會被替換成特殊符號, 就這樣
10/19 01:49, 4F

10/19 01:50, , 5F
text editor 的讀檔方式一定是用 binary
10/19 01:50, 5F
文章代碼(AID): #1EbF_3K1 (C_and_CPP)
文章代碼(AID): #1EbF_3K1 (C_and_CPP)