我使用以下代码从QTextEdit
对象获取内容:
QString text=my_QTextEdit.toPlainText();
QTextEdit
使用的编码是什么,在我从toPlainText()
调用中返回的QString
中使用了什么编码?
谢谢。
发布于 2013-08-27 03:26:15
QTextEdit.toPlainText()
返回一个QString
对象,该对象始终是一个字符串(请参见documentation)。
QString
类提供了函数toLatin1()
、toAscii()
和toUtf8()
,这些函数允许您将字符串从unicode转换为可以进一步处理的8位字符串。因此,Qt为您处理字符串的编码和解码。
如果想要从给定的字节字符串创建QString实例,可以使用函数fromAscii()
、fromLatin1()
或fromUtf8()
。
发布于 2013-08-27 18:23:45
Qt中的所有控件都启用了16位字符。这意味着QTextEdit
的内容是Unicode (或UTF-32/UCS-4) (另请参阅http://developer.nokia.com/Community/Discussion/showthread.php/215203-how-to-correctly-display-Unicodes-in-QPlainTextEdit)。
当(通过plainText()
)获取QTextEdit
控件的内容时,您会得到一个包含Unicode的QString
。
从那时起,你可以转换成你喜欢的其他格式:toUTF8()
,toUCS4()
,...
https://stackoverflow.com/questions/18450459
复制相似问题