Я пытаюсь преобразовать обычную строку в специальный символ, чтобы возделывать его в моей логике в питона 2.Unicode в строки Python 2
word = 'Tb\u03b1'
word = unicode('Tb\u03b1')
if word.encode('utf-8') == u'Tb\u03b1'.encode('utf-8'):
print 'They are equals'
print word.encode('utf-8')
print type(word.encode('utf-8'))
print u'Tb\u03b1'.encode('utf-8')
print type(u'Tb\u03b1'.encode('utf-8'))
Я получаю этот ответ
Tb\u03b1
<type 'str'>
Tbα
<type 'str'>
Мои вопрос ... Когда я применяю метод unicode
к слову, я не должен иметь такой же ответ в строках 1 и 3? Я хотел бы получить строку 3, потому что мне нужно сделать некоторую логику на основе этого специального символа.
Почему у вас есть строка '' Tb \ u03b1''? Вы уверены, что это то, что у вас есть в вашей реальной программе? Существует не так много разумных способов, чтобы вы могли получить эту строку, и вам, вероятно, следует изменить любой код, создающий ее, вместо того, чтобы пытаться выполнить пост-обработку вывода. – user2357112
Не знаете, что вы хотите, вы уже знаете, как получить строку 3. – Goyo
Он поступает как «строка» из json-файла, такого как '{'word': 'Tb \ u03b1'}'. Однако unicode не важен для меня, но это особый символ, который он пытается представить. Этот юникод может быть в любой части строки (начало, конец, конец). Поэтому я хочу преобразовать эту строку, исходящую из json в качестве переменной, в реальное строковое представление – user2288043