![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
sidor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.10.2007 Репутация: нет Всего: нет |
Помогите пожалуста, никак не поборю.
Нужно перекодировать русский текст в UTF-8. Есть некое место, которе принимает текст только в UTF-8. Задача видимо простая, в книгах описанная, но не получается перекодировать русский текст в UTF-8 если он изначально не в unicode. Изначально текст просто в askii. ss = "русский текст" uss = unicode(ss, 'utf-8') - не работает uss = ss.decode('utf-8') - тоже не работает Traceback (most recent call last): File "<interactive input>", line 1, in <module> File "...\Python25\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode bytes in position 0-3: invalid data |
|||
|
||||
_Viper_ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 8.11.2006 Репутация: нет Всего: 11 |
Вообще ascii русских символов не содержит, так что скорее всего у тебя какая-то другая кодировка.
Ну а если всё таки у тебя ascii, то должно быть так:
Это сообщение отредактировал(а) _Viper_ - 14.7.2008, 10:12 |
|||
|
||||
sidor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.10.2007 Репутация: нет Всего: нет |
спасибо, разобрался.
попутный вопрос: есть ли возможность разобраться какая у меня сейчас кодировка текста ? это нужно чтобы правильно указать из какой кодировки приводить к юникоду. вопрос возник потому что из 10 корректных преобразований все равно появляется один текст записанный неправильно. помогите пожалуста разобраться ато приходится просматривать много материала, чтобы убрать ошибочные куски текста. |
|||
|
||||
_Viper_ |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 87 Регистрация: 8.11.2006 Репутация: нет Всего: 11 |
||||
|
||||
sidor |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.10.2007 Репутация: нет Всего: нет |
ок, спасибо за помощь, _Viper_.
плохо, что нет универсального способа. тексты из разных мест, но видимо можно парсить заголовок http и получать оттуда кодировку в которой я получаю http-response. поковыряю... |
|||
|
||||
opensystem |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 30.7.2010 Где: РД г.Махачкала Репутация: нет Всего: нет |
У меня точно такая же проблема, выходит ошибка
File "C:\Python25\lib\encodings\utf_8.py", line 16, in decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8' codec can't decode bytes in position 43-44: invalid data Объясните пожалуйста где прописывать выше указанное ? Я не программист, я сис админ)) |
|||
|
||||
dipsy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 283 Регистрация: 13.1.2005 Где: Нижний Новгород Репутация: нет Всего: нет |
Попробуй модуль chardet. Сначала с помощью него угадываешь, что за кодировка. А потом уже в коде перекодируешь для своего частного случая, не используя chardet. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Python: Веб-разработка и фреймворки | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |