Я получаю следующую строку из базы данных:
'23:45 \xe2\x80\x93 23:59'
и вывод должен выглядеть как
'23:45 - 23:59'
Как мне это расшифровать? Я попытался расшифровать utf-8, но не повезло
>>> x.decode("utf-8") u'23:45 \u2013 23:59'
Спасибо
Это совершенно правильно. Интерактивный интерпретатор Python отображает repr() строки. Если вы хотите увидеть его как правильную строку, print it:
repr()
print
>>> print '23:45 \xe2\x80\x93 23:59' 23:45 – 23:59
a="NOV–DEC 2011" (en-dash) b=unidecode(a) #output --> NOV-DEC 2011 (with hyphen)
Сначала необходимо установить unidecode и импортировать его.Я попробовал это, и он работает хорошо.Надеюсь, это поможет!
UTF-8-представление "en dash" http://www.fileformat.info/info/unicode/char/2013/index.htm - это шестнадцатеричное 0xE2 0x80 0x93 (e28093) или u "\ u2013".Звучит так, как будто вы хотите заменить символ дефиса на дефис / минус (0x2d), чтобы сохранить его в переменной.Это нормально, но переменная не будет содержать того же символа, который хранится в базе данных, больше, чем если бы вы заменили Ü (http://www.fileformat.info/info/unicode/char/dc/index.htm) на ascii U или заменили ноль (0x30) назаглавная O (0x4f).