gedev
@gedev
сисадмин-энтузиаст

Как раскодировать поломанную кириллицу?

Как называется способ кодирования, где файлы в консоли получают следующий вид? Банально не знаю как гуглить.

# Вывод ls
''$'\301\345\347''-'$'\350\354\345\355\350''-1-1-150x150.jpg'
''$'\301\345\347''-'$'\350\354\345\355\350''-1-1-300x215.jpg'
''$'\301\345\347''-'$'\350\354\345\355\350''-1-150x150.jpg'
''$'\361\342\340\344\374\341\340''-1-150x150.jpg'

Есть научный интерес — возможно ли эту жесть раскодировать?

Имена файлов когда-то были кириллицей. Подозреваю, что первый файл назывался 'Без-имени-1-1-150x150.jpg'

При подборе юникода тупо по цифрам с ходу ничего не получается: ĭřś ŞŢřţŞ (эту последовательность преобразовать не удалось). Но судя по тому как повторяются новые "кракозябры", идею можно как-то развить — есть закономерность.

Пожалуйста, не предлагайте не использовать кириллицу в файлах:)
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
@galaxy
А чего тут раскодировать - это CP1251 (с поправкой на $ и кавычки):
>>> s = b"""''$'\301\345\347''-'$'\350\354\345\355\350''-1-1-150x150.jpg'
''$'\301\345\347''-'$'\350\354\345\355\350''-1-1-300x215.jpg'
''$'\301\345\347''-'$'\350\354\345\355\350''-1-150x150.jpg'
''$'\361\342\340\344\374\341\340''-1-150x150.jpg'"""

>>> print(s.decode('cp1251'))
''$'Без''-'$'имени''-1-1-150x150.jpg'
''$'Без''-'$'имени''-1-1-300x215.jpg'
''$'Без''-'$'имени''-1-150x150.jpg'
''$'свадьба''-1-150x150.jpg'
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы