Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 26, 2011 07:49:13

Invis1ble
От:
Зарегистрирован: 2011-06-16
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировкой

Здравствуйте. Недавно начал изучать Python и сразу стал практиковаться. Придумал себе задание и стал его решать :)
Наткнулся на проблему, никак не могу сообразить, где я скосячил. Теперь суть:
имеется строка в кодировке koi8-r, скрипт написан в utf-8, в начале скрипта стоит # -*- coding: utf-8 -*-
пытаюсь перевести строку в другую кодировку, т.е. в utf-8. При выводе в терминал:

print text.decode('koi8-r')
все норм, строка переводится в юникод и все прекрасно, но при попытке занести значение в переменную:
encoded_text = text.decode('koi8-r')
выскакивает ошибка:
UnicodeDecodeError: ‘ascii’ codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
Подскажите пожалуйста, что я неправильно делаю в данном случае и как этого избежать.

ПС. Вот еще вопрос не по теме: а где панель с bb-тегами? Я что-то не нашел… Или нет такой?



Отредактировано (Июнь 26, 2011 07:54:53)

Офлайн

#2 Июнь 26, 2011 08:17:51

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Проблема с кодировкой

Не должно быть такого. ОС какая?
Выкладывайте текст.

И вот ещё.

Офлайн

#3 Июнь 26, 2011 08:45:03

Invis1ble
От:
Зарегистрирован: 2011-06-16
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировкой

o7412369815963
Да, я уже понял свою ошибку.
При decode получается объект unicode, нужно дополнительно преобразовать его в строку перед выводом.
На самом деле я не совсем в ту сторону смотрел - пытался конкатенировать строку с unicode (просто не знал, что есть вообще такой тип объекта и из-за этого может возникнуть проблема, благодаря print type() узнал :)).
За ссылку отдельное спасибо.



Отредактировано (Июнь 26, 2011 08:48:44)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version