2015-03-25 3 views
-1

Простой и новичку вопрос,unicode литерал к переменной?

>>> print (u'Hello\u0020World !') 
Hello World ! 
>>> s = "Hello\u0020World !" 
>>> print (u's) 

SyntaxError: EOL while scanning string literal 

Почему ??

+0

'print (u's)' где другой '' '? В любом случае .. 's = u'Hello \ u0020World! '; print (s) '(и если это нежелательно, объясните, что * * желательно, потому что это не ясно). Обратите внимание на то, что литерал - это просто значение, которое может быть назначено. – user2864740

+1

@ user2864740 Вы должны уметь: print (s.decode ('unicode-escape')) '=>' u'Hello World! '' –

+0

ну, s - это переменная, а не строка) – user1641071

ответ

1

Ваше назначение в порядке. Проблема заключается в вызове print - вам не нужно (и не может) указать тип переменной; добавление u бессмысленно, а синтаксическая ошибка - синтаксическая ошибка. Все, что вам нужно сделать, это print() переменная:

s = "Hello\u0020World !" 
print(s) 

Ваш комментарий

s = "Hello\u0020World !".encode("utf-8") 
print(s.decode()) 

делает точно то же самое, только с большим количеством работы.

Смежные вопросы