/ shift-jisのデコード/デコード:“不正なマルチバイトシーケンス” - python、encoding、hex、decode、shift-jis

shift-jisのデコード:“不正なマルチバイトシーケンス” - python、encoding、hex、decode、shift-jis

私はこのように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"