我試圖製作一個base64編碼器/解碼器,並在Ubuntu中顯示Qt(4.7.3)中的結果。我使用QPlainText
來粘貼代碼並顯示結果。我沒有解碼問題,因爲結果是正確的,但是當我嘗試加密時,結果是漢字和不可讀的字符。Qt中的QPlainText小部件中的原始文本可視化問題
我認爲我的錯誤是與小部件的編碼或與QString
,因爲編碼算法是正確的。
有些想法? 謝謝!
我試圖製作一個base64編碼器/解碼器,並在Ubuntu中顯示Qt(4.7.3)中的結果。我使用QPlainText
來粘貼代碼並顯示結果。我沒有解碼問題,因爲結果是正確的,但是當我嘗試加密時,結果是漢字和不可讀的字符。Qt中的QPlainText小部件中的原始文本可視化問題
我認爲我的錯誤是與小部件的編碼或與QString
,因爲編碼算法是正確的。
有些想法? 謝謝!
如果編碼以8位工作,它可能偶然產生代表中文字符(或來自其他語言)的UTF-8字符序列。這也取決於您選擇的默認QString
編碼等,但是對於base64,它將適用於任何編碼。對於編碼的字符串,在將其顯示到小部件之前,先嚐試base64。
我如何選擇QString中的編碼? – Killrazor
你可以看看QTextCodec的文檔:http://doc.qt.nokia.com/latest/qtextcodec.html –
也許問題出在你的加密函數中。 –
不,加密功能已經過很長時間的測試和生產。 – Killrazor
您可以擴展問題嗎?如果你只是採取一些數據,編碼並顯示它,結果是QPlainTextEdit小部件中的unicode字符?你可以在代碼中顯示你在哪裏設置文本的代碼? –