LINUX.ORG.RU

История изменений

Исправление MyTrooName, (текущая версия) :

если речь идет о python3, то на входе у тебя юникодная строка. я думаю, смысл отдельно encode и decode тебе понятен, но здесь они использованы последовательно

тут можно рассуждать задом наперед: у тебя где-то в файле была строка(байты) в cp1251, которую кто-то прочитал так, будто она была в iso-8859-1, и записал в юникоде (т.е. сделал bytes.decode('iso-8859-1')). получилось 'ïàðàìåòðû îòîáðàæåíèÿ êîíêðåòíîãî çíàêà ïî øàáëîíó'. так что сперва тебе надо получить исходный массив байт (str.encode('iso-8859-1') - обратка к тому, что выше), а затем перекодировать в юникод, как полагалось изначально (bytes.decode('cp1251'))

Исходная версия MyTrooName, :

если речь идет о python3, то на входе у тебя юникодная строка. я думаю, смысл отдельно encode и decode тебе понятен, но здесь они использованы последовательно

тут можно рассуждать задом наперед: у тебя где-то в файле была строка(байты) в cp1251, которую кто-то прочитал так, будто она была в iso-8859-1, и записал в юникоде (т.е. сделал bytes.decode('iso-8859-1')). получилось 'ïàðàìåòðû îòîáðàæåíèÿ êîíêðåòíîãî çíàêà ïî øàáëîíó'. так что, чтобы повторить обратный процесс, тебе надо получить исходный массив байт (str.encode('iso-8859-1') - обратка к тому, что выше), а затем перекодировать в юникод, как полагалось изначально (bytes.decode('cp1251'))