我使用以下代码从QTextEdit
对象获取内容:
QString text=my_QTextEdit.toPlainText();
QTextEdit
使用的编码是什么,我从QString
电话回来的toPlainText()
使用了什么编码?
感谢。
答案 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()
,...