Форум сайта python.su
К чему Вы вообще приплели эту строку?
xd0\xbb\xd0\xbe\xd1\x82\xd1\x8b\xd0\xb2\xd0\xbb\xd0\xbe\xd0\xb0\xd1\x82
%D1%81%D0%B0%D1%85%D0%B0%D0%BB%D0%B8%D0%BD
сахалин
лотывлоат
Отредактировано 4kpt (Авг. 27, 2013 11:17:46)
Офлайн
4kpt
К чему Вы вообще приплели эту строку?
Офлайн
wbt
Автора интересовала проблема приведения типов к конституционному порядку
skavans
1) как из этого объекта получить нормальную читаемую строку;
2) в чем вообще причина такой ошибки.
Отредактировано 4kpt (Авг. 27, 2013 11:27:52)
Офлайн
Автор получил через unquote объект. Тут он бы мог им пользоваться по своему разумению, и не было бы никакой проблемы.
Но автор решил их себе создать. Он вот эту ‘\xxx’ братию сохранил в json. А затем - прочитал. И читалка ему повесила, чтобы жизнь раем не казалась, флаг u. Без этого флага у автора не было бы проблемы и не было бы этой темы.
1) как из этого объекта получить нормальную читаемую строку;2) в чем вообще причина такой ошибки.
Офлайн
Прошу меня простить. Видимо я не понимаю такого декодирования…
Изначальные данные “сахалин” превратились в “лотывлоат” путем сложный и очень нужных преобразований.
1. Какую пробелму Вы решали?
2. Какое решение получили?
3. Совпадают ли ожидания?
P.S. Я пас. Дальше продолжать бессмысленно.
Офлайн
Хорошо, я прочитаю исходное сообщение за вас, раз уж вы так упрямо не хотите этого делать.
Возникла странная проблема: есть файл в формате JSON, в нем, в одном из полей есть URL, который содержит кириллицу в виде search?q=%D1%81%D0%B0%D1%85%D0%B0%D0%BB%D0%B8%D0%BD.
Далее с помощью json.load() создаю dict из него, делаю urllib.unquote() и получаю вот такой объект u'\xd0\xbb\xd0\xbe\xd1\x82\xd1\x8b\xd0\xb2\xd0\xbb\xd0\xbe\xd0\xb0\xd1\x82'.
Если честно, не могу сказать, что на все 100% понял, как работать с кодировками и encode/decode, но судя по всему, это неправильный объект - utf-escaped строка лежит в unicode-строке..
В связи с этим, прошу помощи в 2 вопросах:
1) как из этого объекта получить нормальную читаемую строку;
2) в чем вообще причина такой ошибки.
Офлайн
Тогда это:
Очень интересная и бессмысленная задача :)
P.S. Приношу свои извинения. Я понял не так. Я думал, что имелась ввиду начальная строка….
Офлайн
Суть проблемы, действительно, сводится к получению нормальной читаемой строки из u'\xd0\xbb\xd0\xbe\xd1\x82\xd1\x8b\xd0\xb2\xd0\xbb\xd0\xbe\xd0\xb0\xd1\x82'. Не столь важно, сахалин в ней записан или лотывлоат там какие-то русские буквы.
Офлайн
skavans
Суть проблемы, действительно, сводится к получению нормальной читаемой строки из u'\xd0\xbb\xd0\xbe\xd1\x82\xd1\x8b\xd0\xb2\xd0\xbb\xd0\xbe\xd0\xb0\xd1\x82'. Не столь важно, сахалин в ней записан или лотывлоат там какие-то русские буквы.
Офлайн
wbtПримите мои поздравления….
Это все поняли. Ну… почти все.
Офлайн