如何确定Qt中QTextEdit中文本的编码?

时间:2013-08-26 18:20:40

标签: qt encoding

我使用以下代码从QTextEdit对象获取内容:

QString text=my_QTextEdit.toPlainText();

QTextEdit使用的编码是什么,我从QString电话回来的toPlainText()使用了什么编码?

感谢。

2 个答案:

答案 0 :(得分:2)

QTextEdit.toPlainText()会返回QString个对象,该对象始终是 unicode 字符串(请参阅documentation)。

QString类提供函数toLatin1()toAscii()toUtf8(),它们允许您将字符串从unicode转换为可以处理的8位字符串进一步。所以Qt处理编码&为你解码字符串。

如果要从给定的字节字符串创建QString实例,可以使用函数fromAscii()fromLatin1()fromUtf8()

答案 1 :(得分:1)

Qt中的所有控件都启用了16位字符。这意味着QTextEdit的内容是Unicode(或UTF-32 / UCS-4)(另请参阅http://developer.nokia.com/Community/Discussion/showthread.php/215203-how-to-correctly-display-Unicodes-in-QPlainTextEdit)。
获取QTextEdit控件的内容(通过plainText())后,您将获得包含Unicode的QString
从那里开始,您可以根据需要转换为其他格式:toUTF8()toUCS4(),...