Unicodeにマッピングされていない文字
Shift-JISやJIS (ISO-2022-JP) には、Unicodeマッピング外文字というものがある。
化るのは例えば、iso-2022-jpで書かれた 洲﨑神社 の2文字目。
Unicodeにマッピングされていない文字のため変換できない。
﨑 がUnicodeにない、という意味ではないのがやっかいなところ
つまり、マッピングを実装すれば変換できる
どの文字がマッピング外か、以下に分かりやすくまとまっている
文字コード表 JISコード(ISO-2022-JP)
水色エリアはJIS X 0208 (1990) to Unicode 漢字コード表に存在しないコードです
文字コード表 シフトJIS(Shift_JIS)
水色エリアはJIS X 0208 (1990) to Unicode 漢字コード表に存在しないコードです
実際にPython3で書くとこうなる
code:python
>> suzaki = b'''\x1b$B='yu?@<R\x1b(B'''
>> suzaki.decode('iso2022jp')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'iso2022_jp' codec can't decode bytes in position 5-6: illegal multibyte sequence
>> suzaki.decode('iso2022jp', errors='replace')
'洲�神社'
参考
JIS漢字コード
JIS X 0213
4F70 のあたり