2011-07-15 50 views
0

我試圖製作一個base64編碼器/解碼器,並在Ubuntu中顯示Qt(4.7.3)中的結果。我使用QPlainText來粘貼代碼並顯示結果。我沒有解碼問題,因爲結果是正確的,但是當我嘗試加密時,結果是漢字和不可讀的字符。Qt中的QPlainText小部件中的原始文本可視化問題

我認爲我的錯誤是與小部件的編碼或與QString,因爲編碼算法是正確的。

有些想法? 謝謝!

+0

也許問題出在你的加密函數中。 –

+0

不,加密功能已經過很長時間的測試和生產。 – Killrazor

+0

您可以擴展問題嗎?如果你只是採取一些數據,編碼並顯示它,結果是QPlainTextEdit小部件中的unicode字符?你可以在代碼中顯示你在哪裏設置文本的代碼? –

回答

0

如果編碼以8位工作,它可能偶然產生代表中文字符(或來自其他語言)的UTF-8字符序列。這也取決於您選擇的默認QString編碼等,但是對於base64,它將適用於任何編碼。對於編碼的字符串,在將其顯示到小部件之前,先嚐試base64。

+0

我如何選擇QString中的編碼? – Killrazor

+0

你可以看看QTextCodec的文檔:http://doc.qt.nokia.com/latest/qtextcodec.html –