私はこのようにshift-jisでエンコードされた文字列をデコードしようとしています。
string.decode("shift-jis").encode("utf-8")
私のプログラムで見ることができるようにするため。
2つのshift-jis文字(16進数の "0x87 0x54"と "0x87 0x55")に出くわすと、このエラーが表示されます。
UnicodeDecodeError: "shift_jis" codec can"t decode bytes in position 12-13: illegal multibyte sequence
しかし、私はそれらが有効なshift-jis文字であると確信しています: http://www.rikai.com/library/kanjitables/kanji_codes.sjis.shtml
私はまた、これらの文字が私のshift-jisテキストエディタの中のブラックボックスは、それらが認識されないことを意味します。それで、私のエディタとPythonデコーダが失敗したこれら2つの文字について特別な何かがあります。
申し訳ありませんが、文字列の例を投稿できませんでした。これらの文字が存在する場合、それ以降はクリップボードに追加されず、また自動的にUnicodeに変換されます。ただし、16進数の値をポストしました。
回答:
回答№1は8シフトJISには複数のバージョンがあります。の shift_jis
コーデックは JIS X 0208その表は JIS X 0213、に対応 shift_jisx0213
コーデック
>>> u"⑲⑳Ⅰ".encode("shift_jisx0213")
"x87Rx87Sx87T"