Расшифруйте японский символ имени файла при распаковке

Я декодирую имя файла:

20180126 / \ x83 \ X8A\x83 / \ x81 [\ x83X \ x83f \ x81 [\ x83 ^ \ x8d \ xb7 \ x82 \ XB5 \ x91 \ xd6 \ x82 \ xa6 \ X8A \ xd6 \ x98A\x8e \ x91 \ x97 \ XBF /

используя Python. Но это дает ошибку с \ x83 / \ x81 символом.

кодек не может декодировать байты в позиции 11-12: недопустимая многобайтовая последовательность

Это пример кода:

uf = codecs.decode(bad_filename, 'shift_jisx0213')

Я попытался использовать эти кодеки: 'shift_jisx0213', 'cp932'

Как я могу это исправить? Есть ли какой-либо язык программирования или библиотека может декодировать это?

1 ответ

Существует прямая косая черта, которая не относится к третьему и четвертому гексам. Удалите эту косую черту, и все будет хорошо:

>>> print(b"20180126/\x83\x8a\x83\x81[\x83X\x83f\x81[\x83^\x8d\xb7\x82\xb5"
        b"\x91\xd6\x82\xa6\x8a\xd6\x98A\x8e\x91\x97\xbf/".decode("shift_jisx0213"))
20180126/リメ[スデータ差し替え関連資料/
Другие вопросы по тегам