Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 27, 2009 15:13:26

iamfilin
От:
Зарегистрирован: 2009-10-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

unicode vs string.encode('utf-8')

Python 2.5.2



Офлайн

#2 Окт. 27, 2009 18:05:20

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

unicode vs string.encode('utf-8')

iamfilin
Python 2.5.2
Каким то кривым образом он у вас скорее всего установлен…
Посмотри содержимое папки c:/python25/lib/encodings



Офлайн

#3 Окт. 27, 2009 18:09:02

rudm
От:
Зарегистрирован: 2009-10-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

unicode vs string.encode('utf-8')

у меня вообще не пашут русские символы в питоне. Он выводит их как не-ASCII символы, вместо того что бы выводить кирилицей.
Вот пример:

# -*- coding:cp1251 -*-
import random

def somefunc():
somelist=[1,2,3,4,5,6,7,8,9]
get_some_vars=random.sample(somelist, 3)
var_one, var_two, var_three=get_some_vars
return 'Значение один', var_one, 'Значение два', var_two, 'Значение три', var_three

somedict={'name_one': 1, 'name_two': 2, 'name_three': 3}
for step_one, step_two in somedict.iteritems():
print step_one, somefunc()
Вот что имеем на выходе
name_one ('\xc7\xed\xe0\xf7\xe5\xed\xe8\xe5 \xee\xe4\xe8\xed', 1, ‘\xc7\xed\xe0\xf7\xe5\xed\xe8\xe5 \xe4\xe2\xe0’, 7, ‘\xc7\xed\xe0\xf7\xe5\xed\xe8\xe5 \xf2\xf0\xe8’, 3)
name_two ('\xc7\xed\xe0\xf7\xe5\xed\xe8\xe5 \xee\xe4\xe8\xed', 4, ‘\xc7\xed\xe0\xf7\xe5\xed\xe8\xe5 \xe4\xe2\xe0’, 3, ‘\xc7\xed\xe0\xf7\xe5\xed\xe8\xe5 \xf2\xf0\xe8’, 1)
name_three ('\xc7\xed\xe0\xf7\xe5\xed\xe8\xe5 \xee\xe4\xe8\xed', 2, ‘\xc7\xed\xe0\xf7\xe5\xed\xe8\xe5 \xe4\xe2\xe0’, 9, ‘\xc7\xed\xe0\xf7\xe5\xed\xe8\xe5 \xf2\xf0\xe8’, 5)
>>>

Python 2.6.3



Отредактировано (Окт. 27, 2009 18:12:13)

Офлайн

#4 Окт. 27, 2009 19:32:12

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

unicode vs string.encode('utf-8')

rudm
Он выводит их как не-ASCII символы, вместо того что бы выводить кирилицей.
Это нормальное поведение. Строки у вас внутри тупла.



Офлайн

#5 Окт. 28, 2009 09:40:20

iamfilin
От:
Зарегистрирован: 2009-10-27
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

unicode vs string.encode('utf-8')

igor.kaist
Каким то кривым образом он у вас скорее всего установлен…
Посмотри содержимое папки c:/python25/lib/encodings
Спс, разобрался. encode так и не работает, зато функция unicode помогла…..



Офлайн

#6 Окт. 28, 2009 11:57:49

rudm
От:
Зарегистрирован: 2009-10-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

unicode vs string.encode('utf-8')

2 Daevaorn
А как мне сделать что бы он выводил строки изнутри тупла кирилицей? Или вообще, как реализовать вывод кирилицы нормальный. Мануал по поводу работы с кодировками, строками и текстом где-нибудь есть?



Офлайн

#7 Окт. 28, 2009 12:21:47

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

unicode vs string.encode('utf-8')

rudm
А как мне сделать что бы он выводил строки изнутри тупла кирилицей?
Короткая прикольная статься о юникод-строках:
http://evanjones.ca/python-utf8.html

Проблема кодировок в принтах (должно помочь):
http://kbyanc.blogspot.com/2007/04/python-printing-unicode.html



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version