Форум сайта python.su
0
Без лишних слов:
>>> sys.getdefaultencoding() 'ascii' >>> print sys.stdout.encoding US-ASCII >>> type(s) <type 'str'> >>> s '\xd0\xb0\xd1\x84\xd1\x8b\xd0\xb2\xd0\xb0\xd0\xb2\xd1\x8b' >>> str(s) '\xd0\xb0\xd1\x84\xd1\x8b\xd0\xb2\xd0\xb0\xd0\xb2\xd1\x8b' >>> print s афывавы
Отредактировано alexeyche (Май 21, 2012 15:13:01)
Офлайн
15
вопрос не понятен, чего хочешь? из какой ситуации? print же выводит текст
Офлайн
0
Вопрос собственно в переводе такого набора байтов в строку (unicode).
>>> str(s) u'афывавы'
>>> repr(s) u'афывавы'
>>> s.decode('utf-8') u'\u0430\u0444\u044b\u0432\u0430\u0432\u044b' >>> print s.decode('utf-8') Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128)
Отредактировано alexeyche (Май 21, 2012 16:59:54)
Офлайн
-2
s.decode('utf-8') print s
import codecs, sys sys.stdout = codecs.getwriter('utf8')(sys.stdout)
Отредактировано asilyator (Май 21, 2012 17:15:08)
Офлайн
0
не помогло
>>> sys.stdout = codecs.getwriter('US_ASCII')(sys.stdout) >>> print s.decode('utf-8') Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.6/codecs.py", line 351, in write data, consumed = self.encode(object, self.errors) UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128) >>> print s Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.6/codecs.py", line 351, in write data, consumed = self.encode(object, self.errors) UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
Отредактировано alexeyche (Май 21, 2012 17:44:28)
Офлайн
-2
Какой тип у s?
codecs.getwriter('utf8'), а не аски.
Офлайн
0
здравствуйте ребята ! помогите новичку одним вопросом плиз, есть один сайт и я туда должен писать сообщение разные, среди букв в сообщении иногда должны быть и символы разные, но этот сайт не читает эти символы а читает его html код, то есть вместо символа пишется его html код. есть возможность это исправить, по моему сайт читает только латинские и русские буквы, можно как нибудь изменит кодировку символа чтобы сайт читал нормально символы или еще что нить, сайт работает на UTF-8, Буду очень благодарен, жду ответа
Офлайн
14
Ничегонельзяпонять!
Новая проблема — новая тема!
Отредактировано Андрей Светлов (Май 22, 2012 14:48:27)
Офлайн