Получите правильные имена файлов NTFS с символами Юникода в LinuxPython

Программы на Python
Ответить
Anonymous
 Получите правильные имена файлов NTFS с символами Юникода в Linux

Сообщение Anonymous »

У меня в Linux установлен раздел NTFS. Из-за разницы в кодировке все символы Юникода в именах файлов повреждены. Например. 新建文件夹 (новая папка на китайском языке) отображается как \320½\250\316ļ\376\274\320/.
Я не могу изменить параметр монтирования, поэтому хочу написать сценарий Python, чтобы получить правильное имя файла.
Вот что я попробовал (все еще используя Пример 新建文件夹):

Код: Выделить всё

>>> import os
>>> os.listdir('.')[-1]
'\udcd0½\udca8\udcceļ\udcfe\udcbc\udcd0'
>>> os.listdir(b'.')[-1]
b'\xd0\xc2\xbd\xa8\xce\xc4\xbc\xfe\xbc\xd0'
>>> os.listdir(b'.')[-1].decode('utf-16')
'싐ꢽ쓎ﺼ킼'
Вывод по-прежнему представляет собой неработающий текст. Я также пробовал utf_16_be и utf_16_le, но они не работают. Каким должен быть правильный способ получить правильные имена файлов NTFS с символами Юникода в Linux? Любые комментарии или отзывы приветствуются. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/769 ... s-in-linux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»