Цитата(kulibinka @ 21.10.2008, 11:45 ) | Почему new_text0 не равно new_text1 (т.е. как не вручную (дописывая u) получить декодированный текст)? |
Последовательность символов "\u041f\u0430\u0440\u0430\u0433\u0432\u0430\u0439" уже уникод строка. Но вам не повезло и вы её получили в виде байт-строки. Если создавать уникод строку форматированием, то все операнды будут приводиться к уникоду, но с декодированием в дефолтную кодировку.
Надо всего лишь создать из неё всё-таки уникод строку, но без декодирования. Например так:
Код | >>> text = '\u041f\u0430\u0440\u0430\u0433\u0432\u0430\u0439' >>> print text.decode("raw_unicode_escape") Парагвай >>> print unicode(text, "raw_unicode_escape") Парагвай
|
|