Найти - Пользователи
Полная версия: Как сравнить String и Unicode
Начало » Python для новичков » Как сравнить String и Unicode
1
Александр Коробкин
Приветствую форумчан!

Дайте, пожалуйста, совет. Задача следующая:
Есть две строки.
RS ='р-н'
US = то же самое значение, что и RS но получено из ячейки таблицы БД.

RS, US
('\xf0-\xed', u'\u0440-\u043d')

print RS, US
р-н р-н

RS==US
False


unicode(RS,'utf-8')

UnicodeDecodeError: ‘utf8’ codec can't decode bytes in position 0-2: unexpected end of data

RS.encode('utf-8')

UnicodeDecodeError: ‘ascii’ codec can't decode byte 0xf0 in position 0: ordinal not in range(128)
1. Почему значения не равны?
2. Как можно сравнить значения RS и US возвращаемые оператором print?
3. Как строку на кирилице превратить в Unicode? (Python 2.5.1; IDLE 1.2.1)
nerijus
Александр Коробкин
1. Почему значения не равны?
Не совпадают кодировки.

Александр Коробкин
2. Как можно сравнить значения RS и US возвращаемые оператором print?
Перекодировать на такую же самую кодировку.

Александр Коробкин
3. Как строку на кирилице превратить в Unicode? (Python 2.5.1; IDLE 1.2.1)
Я думаю, что у вас первое значение не в utf-8, а в каком нибудь 1251, поэтому unicode(RS,'utf-8') и ругается.
Александр Коробкин
nerijus, большое СПАСИБО, разобрался :)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB