处理QString编码

1 投票
2 回答
1511 浏览
提问于 2025-04-15 11:23

有没有一个Python库可以检测(也许还可以解码)字符串的编码方式?

我找到了chardet这个库,但在使用时出现了错误:

chardet.detect(self.ui.TextFrom.toPlainText())
got: = chardet.detect(self.ui.TextFrom.toPlainText())
File .... u.feed(aBuf) File .... 
if self._highBitDetector.search(aBuf):

TypeError: buffer size mismatch

还有:

print type(self.ui.TextFrom.toPlainText())
# <class 'PyQt4.QtCore.QString'>

2 个回答

2

我想这也是另一个选择。

http://cthedot.de/encutils/

这是一个工具集合,里面有一些辅助函数,可以用来检测文本文件的编码方式(比如 HTML、XHTML、XML、CSS 等),这些文件可以通过 HTTP、文件或字符串获取。

7

你需要把你的 QString 转换成 Python 的字符串,才能传给 chardet。把这段代码:

chardet.detect(self.ui.TextFrom.toPlainText())

改成这样:

chardet.detect(str(self.ui.TextFrom.toPlainText()))

撰写回答