Уведомления

Группа в Telegram: @pythonsu

#1 Май 2, 2010 13:56:49

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

Крякозябры в utf

Есть библиотека (jppy), которая с девайса (palm) берет данные. на девайсе данные в cp1251. она же отдает такого плана строки: Èíòåðò
Как это превратить в русский текст?
decode/encode по разному пробовал, chardet тоже не пашет



Офлайн

#2 Май 2, 2010 18:27:28

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Крякозябры в utf

# -*- coding: utf-8 -*-

import struct

u = 'Èíòåðò'.decode('utf-8')
s = ''.join(map(chr, struct.unpack('I' * len(u), buffer(u))))
u = s.decode('cp1251')
..bw



Офлайн

#3 Май 3, 2010 01:13:00

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

Крякозябры в utf

спасибо, работает!



Офлайн

#4 Май 3, 2010 06:05:59

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Крякозябры в utf

Другой вариант:

# -*- coding: utf-8 -*-

str_cp1251_utf8 = 'Èíòåðò'
unicode_result = str_cp1251_utf8\
.decode('utf-8')\
.encode('raw-unicode-escape')\
.decode('cp1251')
..bw



Отредактировано (Май 3, 2010 06:07:00)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version