使用QString编码

时间:2009-05-04 08:47:22

标签: python encoding

是否有可以检测(并可能解码)字符串编码的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 个答案:

答案 0 :(得分:7)

您需要将QString转换为Python字符串,然后再将其传递给chardet。改变这个:

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

到此:

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

答案 1 :(得分:2)

我想这是另一种选择。

http://cthedot.de/encutils/

  

一组辅助函数,用于检测通过HTTP,文件或字符串检索的文本文件(如HTML,XHTML,XML,CSS等)的编码。