Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 29, 2011 17:20:46

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

decode ничего не делает

Имеется код:

com = 'wget -O - http://localhost/today'

start = '<today>';
finish = '</today>';

temp = os.popen(com)
msg = temp.read()
index = string.find(msg, start)
index2 = string.find(msg, finish)
fc = msg[index+7:index2]
u = fc.decode("utf-8")
print str(u)
Информация в теге <today></today> уже в utf8, мне надо ее перевести в кирилицу, а она так и остается в байтах:( уже даже не знаю что делать:(

Я имею ввиду, есть строка \u0418\u0437\u0443\u0447\u0438\u043b, ее надо в читабельный вид привести.



Отредактировано (Июнь 29, 2011 17:49:53)

Офлайн

#2 Июнь 29, 2011 20:53:38

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

decode ничего не делает

#!/usr/bin/env python
#-*- coding: utf8 -*-

import os, string

com = 'wget -O - http://www.yandex.ru/'

start = '<today>';
finish = '</today>';

temp = os.popen(com)
msg = temp.read()
index = string.find(msg, start)
index2 = string.find(msg, finish)
fc = msg[index+7:index2]
u = fc.decode('utf-8').encode('utf-8')
print str(u)



Офлайн

#3 Июнь 30, 2011 02:05:26

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

decode ничего не делает

Все равно, строка так и не перекодировалась:(



Офлайн

#4 Июнь 30, 2011 05:41:50

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

decode ничего не делает

u = fc.decode('utf-8').encode('utf-8')
бессмысленнейшие действие

> Все равно, строка так и не перекодировалась
а у меня работает

Офлайн

#5 Июнь 30, 2011 08:50:23

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

decode ничего не делает

http://docs.python.org/library/codecs.html#standard-encodings

не увидел там ‘utf-8’ есть ‘utf8’

Офлайн

#6 Июль 1, 2011 10:05:30

ZAN
От:
Зарегистрирован: 2007-06-10
Сообщения: 403
Репутация: +  10  -
Профиль   Отправить e-mail  

decode ничего не делает

s0rg
не увидел там ‘utf-8’ есть ‘utf8’
На самом деле можно по-разному писать )
doc
Notice that spelling alternatives that only differ in case or use a hyphen instead of an underscore are also valid aliases; therefore, e.g. ‘utf-8’ is a valid alias for the ‘utf_8’ codec.



Офлайн

#7 Июль 1, 2011 17:47:47

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

decode ничего не делает

ZAN
На самом деле можно по-разному писать )
А вот это проглядел, сорри )

Отредактировано (Июль 1, 2011 17:48:21)

Офлайн

#8 Июль 5, 2011 18:33:47

minotavr_x86
От:
Зарегистрирован: 2010-05-21
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

decode ничего не делает

Попробуйте в начале вставить такой код

import sys
reload(sys)
sys.setdefaultencoding('utf8')



Офлайн

#9 Июль 5, 2011 18:44:05

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

decode ничего не делает

Сделал бы кто такое у меня на работе — получил бы втык за профнепригодность



Офлайн

#10 Июль 5, 2011 18:47:51

minotavr_x86
От:
Зарегистрирован: 2010-05-21
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

decode ничего не делает

Андрей Светлов
Сделал бы кто такое у меня на работе — получил бы втык за профнепригодность
А в чем ошибка?



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version