dunmaksim
@dunmaksim
Технический писатель

Как перекодировать русский текст из декомпилированных pyc-файлов?

Пришлось заняться, скажем так, реверс-инжинирингом. Взял декомпилятор pyc-файлов Easy Decompile. Работает хорошо, но в выходных файлах вместо кириллицы, где она была, примерно такое:
class SpecMedGroupPupil(BaseReplicatedModel):
    '''\xd0\xa1\xd0\xb2\xd1\x8f\xd0\xb7\xd0\xba\xd0\xb0 \xd1\x81\xd0\xbf\xd0\xb5\xd1\x86\xd0\xbc\xd0\xb5\xd0\xb4\xd0\xb3\xd1\x80\xd1\x83\xd0\xbf\xd0\xbf\xd0\xb0-\xd1\x83\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xba'''
    audit_log = AuditLog()
    specmedgroup = models.ForeignKey(SpecMedGroup, null = True, blank = False, db_index = True)
    pupil = models.ForeignKey(Pupil, null = True, blank = False, db_index = True)
    
    class Meta:
        verbose_name = u'\xd0\xa1\xd0\xbf\xd0\xb5\xd1\x86\xd0\xbc\xd0\xb5\xd0\xb4\xd0\xb3\xd1\x80\xd1\x83\xd0\xbf\xd0\xbf\xd0\xb0'
        verbose_name_plural = u'\xd0\xa1\xd0\xbf\xd0\xb5\xd1\x86\xd0\xbc\xd0\xb5\xd0\xb4\xd0\xb3\xd1\x80\xd1\x83\xd0\xbf\xd0\xbf\xd1\x8b'
        db_table = 'spec_med_group_pupil'

Сначала пытался просматривать закодированные строки с помощью вот этого ресурса. Иногда помогает, а чаще даёт ошибку "SyntaxError: JSON.parse: bad escaped character".
  • Вопрос задан
  • 3038 просмотров
Решения вопроса 2
alternativshik
@alternativshik
в консоли питона print '\xd0\xa1\xd0\xb2\xd1\x8f\xd0\xb7\xd0\xba\xd0\xb0 \xd1\x81\xd0\xbf\xd0\xb5\xd1\x86\xd0\xbc\xd0\xb5\xd0\xb4\xd0\xb3\xd1\x80\xd1\x83\xd0\xbf\xd0\xbf\xd0\xb0-\xd1\x83\xd1\x87\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xba'
Ответ написан
Комментировать
adugin
@adugin Куратор тега Python
>>> test = '\xd0\xa1\xd0\xbf\xd0\xb5\xd1\x86\xd0\xbc\xd0\xb5\xd0\xb4\xd0\xb3\xd1\x80\xd1\x83\xd0\xbf\xd0\xbf\xd0\xb0'
>>> print test.decode('utf-8')
Спецмедгруппа
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы