エンコードの問題を処理しています。私の入力は、次のようなユニコード文字列です。
>>> s
u'\xa6\xe8\xac\xc9'
実際には cp950 でエンコードされています。私はそれをデコードしたい: (「u」がないことに注意してください)
>>> print unicode('\xa6\xe8\xac\xc9', 'cp950')
西界
ただし、その「u」を取り除く方法がわかりません。直接変換が機能していません:
>>> str(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
encode() を使用した結果は、私が望んでいたものではありません:
>>> s.encode('utf8')
'\xc2\xa6\xc3\xa8\xc2\xac\xc3\x89'
私が欲しいのは'\xa6\xe8\xac\xc9'