低レベルの処理でstd :: stringsを扱っているので、その文字列のビットを操作する必要があります。
また、QPlainTextEditで結果を表示してGUIを使用して結果を表示する必要があります。逆処理のためにコピーされる可能性があります。
私は文字列を扱うので、0xe3のような結果が出る可能性があります。私はstd :: stringをQStringに変換してGUIに表示し、その逆も同様です。私は使用する、std :: stringをQStringの値を保持するように変換する方法とその逆?
QString::fromStdString(myString); // to convert std::string to QString
myQString.toStdString(); // to convert back from QString to std::string
問題は、値が文字列の処理から生じる場合です。それをQStringに変換して に変換しようとすると、値が変更されます。
私は、各文字の値を意味し、例えば、
0x3fをは0xbdなり、0xe3は、私は、問題が原因のstd :: stringとQStringの間のエンコーディングの問題はどうなると思います
0xEFというなり、私はそれに対処する方法やQStringから正しい値を取得する方法を理解できません。
['QString' documentation](http://doc.qt。 'QString :: fromStdString()'に渡す 'std :: string'はUTF-8形式でなければならず、' QString :: toStdString() 'は' std :: string'はUTF-8形式です。 –
'QString'はUnicode文字をUTF-16形式で保持します。' std :: string'から 'QString'への変換はUTF8-> UTF16変換を含み、' QString'から 'std :: string'への変換はUTF16 →UTF8変換。このような変換は無損失ですが、UTF-8形式の 'std :: string'を扱う準備ができていない場合、あなたが期待しているものではないかもしれません。 –
あなたは 'QString'ではなく' QByteArray'との間で変換したいと思うように聞こえます。 – bnaecker