Чем отличается функция unicode() от метода string.encode('utf-8') ?
Ответ “ничем” не принимается потому что на практике познал что таки отличается :)
Желательно сцылки на офф доку
pochechyevХм… Тем что они делают противоположные вещи. unicode() преобразует байтовую строку в дофолтной кодировке в уникодную, string.encode() делает из уникодной строки байтовую в указанной кодировке.
Чем отличается функция unicode() от метода string.encode('utf-8') ?
pochechyevНет. У вас байтовая строка s в кодировке cp1251. Конструктор (функция) unicode преобразует её, используя дефолтный кодек (обычно ASCII), в последовательность уникодных символов. Естественно сломается.
есть s='test' допустим в cp1251
unicode(s) - конвертирует в utf-8
pochechyevТут масло масленное, байтовую строку вы хотите преобразовать в такую же байтовую в указанной кодировке. Тоже сломается.
s.encode(utf-8) - получается делат тоже самое …
pochechyevИспользование Unicode в Python (pdf)
Общую суть я понял. Но детали нужно прояснять. Не подскажите где можно подробнее об этом почитать ?