5

QTextEdit次のコードを使用して、オブジェクトからコンテンツを取得しています。

QString text=my_QTextEdit.toPlainText();

I get back from the callQTextEditで使用されるエンコーディングは何ですか?QStringtoPlainText()

ありがとう。

4

2 に答える 2

3

QTextEdit.toPlainText()オブジェクトを返しQStringます。これは常にUnicode文字列です (ドキュメントを参照してください)。

このQStringクラスは、関数toLatin1()toAscii()および を提供します。これらの関数toUtf8()を使用すると、文字列を Unicode からさらに処理できる 8 ビット文字列に変換できます。そのため、Qt が文字列のエンコードとデコードを処理します。

fromAscii()特定のバイト文字列から QString インスタンスを作成する場合は、関数、fromLatin1()またはを使用できますfromUtf8()

于 2013-08-26T19:26:14.887 に答える
1

Qt のすべてのコントロールは、16 ビット文字に対応しています。つまり、a のコンテンツQTextEditは Unicode (または UTF-32/UCS-4) です ( http://developer.nokia.com/Community/Discussion/showthread.php/215203-how-to-correctly-display-Unicodesも参照)。 -in-QPlainTextEdit )。( 経由で)コントロール
のコンテンツを取得すると、Unicode を含む が返されます。 そこから、好きなように他の形式に変換できます: 、、 ...QTextEditplainText()QString
toUTF8()toUCS4()

于 2013-08-27T10:23:45.460 に答える