私はUnicode文字列に変換して、文字列を標準文字列に変換しようとしていますが、成功しません。私が持っているQString:Unicodeのエンコーディングデコードの問題
:PyQt4.QtCore.QString(u'\xc5\x9f')
私がしたい:'\xc5\x9f'
通知STR型ではないUnicodeを、私は使用していますライブラリはユニコードを受け付けていませんので。ここで
は、私が試したものです、あなたは私が:)午前どのように絶望的見ることができます。
>>> s = QtCore.QString(u'\xc5\x9f')
>>> str(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128) '
>>> s.toUtf8()
PyQt4.QtCore.QByteArray('\xc3\x85\xc2\x9f')
>>> s.toUtf8().decode("utf-8")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'QByteArray' object has no attribute 'decode'
>>> str(s.toUtf8()).decode("utf-8")
u'\xc5\x9f'
>>> str(str(s.toUtf8()).decode("utf-8"))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
私はUnicodeに関連する質問がたくさんあるけど、私はこの答えを見つけることができません。
どうすればよいですか?
編集:
私はハック方法を見つけた:
あなたはより良い方法を知っていますか?
まさにそれが:)です。ありがとうございました。 – utdemir