Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> и опять кодировки текста, Âåðíàäñêîå ÎÑÁ 
:(
    Опции темы
scai
Дата 28.4.2009, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Неофит
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.1.2007
Где: г. Загорск

Репутация: нет
Всего: 2



Код

>>> f.readline()
'<DIV style="position:absolute;top:416;left:58"><nobr><span class="ft10"><b>
\xc3\x8e\xc3\x80\xc3\x8e &quot;\xc3\x82\xc3\xbb\xc3\xac\xc3\xaf\xc3\xa5\xc3\xab\xc3\xaa\xc3\xae\xc3\xac&quot;, \xc3\x82\xc3\xa5\xc3\xb0\xc3\xad\xc3\xa0\xc3\xa4\xc3\xb1\xc3\xaa\xc3\xae\xc3\xa5 \xc3\x8e\xc3\x91\xc3\x81 \xc2\xb9 7970, 
\xc3\xa3. \xc3\x8c\xc3\xae\xc3\xb1\xc3\xaa\xc3\xa2\xc3\xa0<br>\xc3\x91\xc3\xa1\xc3
\xa5\xc3\xb0\xc3\xa1\xc3\xa0\xc3\xad\xc3\xaa \xc3\x90\xc3\xae\xc3\xb1\xc3\xb1\xc3\xa8
\xc3\xa8 \xc3\x8e\xc3\x80\xc3\x8e, \xc3\xa3. \xc3\x8c\xc3\xae\xc3\xb1\xc3\xaa\xc3\xa2
\xc3\xa0<br>\xc3\x90/\xc3\xb1 40702810138180121008<br>\xc3\x8a/\xc3\xb1 30101810400000000225
<br>\xc3\x81\xc3\x88\xc3\x8a 044525225 \xc3\x88\xc3\x8d\xc3\x8d 7713076301 \xc3\x8a\xc3\x8f\xc3\x8f 997750001</b></span></nobr></DIV>\n'
>>>
>>> def enc(name,file=f):
...     f.seek(0)
...     i=f.readline()
...     print f.readline().decode(name)
... 
>>> enc('utf-8')
<DIV style="position:absolute;top:416;left:58"><nobr><span class="ft10"><b>ÎÀΠ&quot;Âûìïåëêîì&quot;, Âåðíàäñêîå ÎÑÁ ¹ 7970,
 ã. Ìîñêâà<br>Ñáåðáàíê Ðîññèè ÎÀÎ, ã. Ìîñêâà<br>Ð/ñ 40702810138180121008<br>Ê/ñ 30101810400000000225
<br>ÁÈÊ 044525225 ÈÍÍ 7713076301 ÊÏÏ 997750001</b></span></nobr></DIV>

>>> enc('koi8_r')
<DIV style="position:absolute;top:416;left:58"><nobr><span class="ft10"><b>ц▌ц─ц▌ &quot;ц┌ц╩ц╛ц╞ц╔ц╚ц╙ц╝ц╛&quot;, ц┌ц╔ц╟ц╜ц═ц╓ц╠ц╙ц╝ц╔ ц▌ц▒ц│ б╧ 7970, 
цё. ц▄ц╝ц╠ц╙ц╒ц═<br>ц▒ц║ц╔ц╟ц║ц═ц╜ц╙ ц░ц╝ц╠ц╠ц╗ц╗ ц▌ц─ц▌, цё. ц▄ц╝ц╠ц╙ц╒ц═
<br>ц░/ц╠ 40702810138180121008<br>ц┼/ц╠ 30101810400000000225<br>ц│ц┬ц┼ 044525225 ц┬ц█ц█ 7713076301 ц┼ц▐ц▐ 
997750001</b></span></nobr></DIV>

>>> enc('cp1251')
<DIV style="position:absolute;top:416;left:58"><nobr><span class="ft10"><b>ГЋГЂГЋ &quot;Âûìïåëêîì&quot;, 
Âåðíà äñêîå ÎÑÁ ¹ 7970, ã. Ìîñêâà<br>
Ñáåðáà íê Ðîññèè ÎÀÎ, ã. Ìîñêâà<br>Ð/ñ 40702810138180121008<br>
Ê/ñ 30101810400000000225<br>ÁÈÊ 044525225 ÈÍÍ 7713076301 ÊÏÏ 997750001</b></span></nobr></DIV>

>>> chardet.detect(a)
{'confidence': 0.98999999999999999, 'encoding': 'utf-8'}
>>> 


я в алгоритмах спрашивал уже: cp1251 говорят. А нужно срочно... Кракозябры знакомые очень на вид, знает кто-нибудь как файл такой в адекватную кирилицу прочесть? Можт есть у кого translation table для str.translate()



Это сообщение отредактировал(а) scai - 28.4.2009, 16:18
--------------------
 
PM MAIL   Вверх
spSerg
Дата 28.4.2009, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 22.3.2007

Репутация: 4
Всего: 4



А попробуй utf-16
PM   Вверх
scai
Дата 28.4.2009, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Неофит
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.1.2007
Где: г. Загорск

Репутация: нет
Всего: 2



Код

>>> print f.readline().decode('utf16')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/encodings/utf_16.py", line 16, in decode
    return codecs.utf_16_decode(input, errors, True)
UnicodeDecodeError: 'utf16' codec can't decode byte 0x0a in position 364: truncated data
>>> 



чего и следовало ожидать.......


Цитата

>>> print f.readline().decode('utf16','ignore')
䐼噉猠祴敬∽潰楳楴湯愺獢汯瑵㭥潴㩰ㄴ㬶敬瑦㔺∸㰾潮牢㰾灳湡挠慬獳∽瑦〱㸢戼쌾쎎쎀₎焦潵㭴苃믃곃꿃ꗃꯃ꫃껃곃焦潵㭴‬苃ꗃ냃귃ꃃ꓃뇃꫃껃ꗃ쌠쎎쎑₁맂㜠㜹ⰰ쌠⺣쌠쎌쎮쎱쎪쎢㲠牢쌾쎑쎡쎥쎰쎡쎠쎭₪郃껃뇃뇃ꣃꣃ쌠쎎쎀Ⲏ쌠⺣쌠쎌쎮쎱쎪쎢㲠牢쌾⾐뇃㐠㜰㈰ㄸ㄰㠳㠱㄰ㄲ〰㰸牢쌾⾊뇃㌠㄰㄰ㄸ㐰〰〰〰〰㈲㰵牢쌾쎁쎈₊㐰㔴㔲㈲‵裃跃跃㜠ㄷ〳㘷〳‱諃迃迃㤠㜹㔷〰㄰⼼㹢⼼灳湡㰾港扯㹲⼼䥄㹖
>>> 



UTF-8 

Это сообщение отредактировал(а) pythonwin - 4.5.2009, 05:19
--------------------
 
PM MAIL   Вверх
pythonwin
Дата 29.4.2009, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



странно - chardet говорит что кодировка ISO-8859-2, правда с очень маленькой вероятностью ~ 26.2%
Цитата

>>> ss
'\'<DIV style="position:absolute;top:416;left:58"><nobr><span class="ft10"><b>\n\xc3\x8e\xc3\x80\xc3\x8e &quot;\xc3\x82\xc3\xbb\xc3\xac\xc3\xaf\xc3\xa5\xc3\xab\xc3\xaa\xc3\xae\xc3\xac&quot;, \xc3\x82\xc3\xa5\xc3\xb0\xc3\xad\xc3\xa0\xc3\xa4\xc3\xb1\xc3\xaa\xc3\xae\xc3\xa5 \xc3\x8e\xc3\x91\xc3\x81 \xc2\xb9 7970, \n\xc3\xa3. \xc3\x8c\xc3\xae\xc3\xb1\xc3\xaa\xc3\xa2\xc3\xa0<br>\xc3\x91\xc3\xa1\xc3\n\xa5\xc3\xb0\xc3\xa1\xc3\xa0\xc3\xad\xc3\xaa \xc3\x90\xc3\xae\xc3\xb1\xc3\xb1\xc3\xa8\n\xc3\xa8 \xc3\x8e\xc3\x80\xc3\x8e, \xc3\xa3. \xc3\x8c\xc3\xae\xc3\xb1\xc3\xaa\xc3\xa2\n\xc3\xa0<br>\xc3\x90/\xc3\xb1 40702810138180121008<br>\xc3\x8a/\xc3\xb1 30101810400000000225\n<br>\xc3\x81\xc3\x88\xc3\x8a 044525225 \xc3\x88\xc3\x8d\xc3\x8d 7713076301 \xc3\x8a\xc3\x8f\xc3\x8f 997750001</b></span></nobr></DIV>\n'
>>> import chardet
>>> chardet.detect
<function detect at 0x8df956c>
>>> chardet.detect(ss)
{'confidence': 0.26190629807642268, 'encoding': 'ISO-8859-2'}




Это сообщение отредактировал(а) pythonwin - 29.4.2009, 10:21
PM WWW GTalk Jabber   Вверх
scai
Дата 3.5.2009, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Неофит
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 20.1.2007
Где: г. Загорск

Репутация: нет
Всего: 2



pythonwin, это наверное из-за расставленных мною энтеров( чтоб в страницу помещалось...

Меня на самом деле, вот какой вопрос беспокоит
Код

>>> enc('utf-8')
<DIV style="position:absolute;top:416;left:58">
<nobr>
<span class="ft10">
<b>ÎÀΠ&quot;Âûìïåëêîì&quot;, Âåðíàäñêîå ÎÑÁ ¹ 7970, ã. Ìîñêâà<br>Ñáåðáàíê Ðîññèè ÎÀÎ, ã. Ìîñêâà
<br>Ð/ñ 40702810138180121008
<br>Ê/ñ30101810400000000225
<br>ÁÈÊ 044525225 ÈÍÍ 7713076301
 ÊÏÏ 997750001</b>
</span></nobr></DIV>



Вот эту белиберду винамп и амарок частенько выводят вместо кириллических тегов..... utf-8 прошу заметить. 
И регистры символов,похоже, на своих местах. ( после <br> - заглавные )

Долже же быть какой-то очевидный ответ: как, хоть на голом С, это в норму привести?

Это сообщение отредактировал(а) pythonwin - 4.5.2009, 05:18
--------------------
 
PM MAIL   Вверх
av0000
Дата 4.5.2009, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 11.2.2009

Репутация: 1
Всего: 2



Всё больше склоняюсь к подозрению, что где-то криво выставлен язык - кодировка в норме, а "язык фонта" ;) слетел. Бывает, например, при тупом перекодировании из ucs-16 в ansi/ascii отбрасыванием первого байта. Ну или покопать в сторону env['LANG'], locale и т.п. может кто-то цепляет локаль "С" вместо "ru_RU" при конвертации...

ЗЫ: исходный файл большой? кинь на [email protected] - попробую у себя на досуге...
PM MAIL Jabber   Вверх
pythonwin
Дата 4.5.2009, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



scai, приатач файл как архив zip к этой теме - попробую разобраться
PM WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0918 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.