Работа с кодировкой QString - PullRequest
1 голос
/ 04 мая 2009

Существует ли библиотека 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 ]

7 голосов
/ 04 мая 2009

Вам нужно преобразовать QString в строку Python, прежде чем передавать ее в chardet. Изменить это:

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

к этому:

chardet.detect(str(self.ui.TextFrom.toPlainText()))
2 голосов
/ 04 мая 2009

Полагаю, это еще один вариант.

http://cthedot.de/encutils/

Набор вспомогательных функций для обнаружения кодировок текстовых файлов (таких как HTML, XHTML, XML, CSS и т. Д.), Полученных по HTTP, файлу или строке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...