Короче:
Там нет необходимости конвертировать вам список юникоды в строки. Они то же самое
При продолжительном:
u'...'
префикса в строковом объекте представляет собой объект Unicode, введенный в Python 2.0 см https://docs.python.org/2/tutorial/introduction.html#unicode-strings
Начиная с Python 2.0 новый тип данных для хранения текстовых данных - , доступный программисту: объект Unicode. Его можно использовать для хранения и обработки данных Unicode (см. http://www.unicode.org/), а хорошо интегрируется с существующими строковыми объектами, обеспечивая при необходимости автоконверсии.
И поскольку Python 3.0 см https://docs.python.org/3.2/tutorial/introduction.html#about-unicode:
Начиная с Python 3.0 все строки поддерживают Unicode (см http://www.unicode.org/).
Независимо от того, что тип строки по умолчанию, при проверке эквивалентности, они должны быть такими же, как в 2.x и 3.x Python:
[email protected]:~$ python2
Python 2.7.11 (default, Dec 15 2015, 16:46:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> type(u'man')
<type 'unicode'>
>>> type('man')
<type 'str'>
>>> u'man' == 'man'
True
[email protected]:~$ python3
Python 3.4.1 (default, Jun 4 2014, 11:27:44)
[GCC 4.8.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> type(u'man')
<class 'str'>
>>> type('man')
<class 'str'>
>>> u'man' == 'man'
True
И в Python 2, когда вы ДОЛЖНЫ или необходимы для конвертации с unicode
в str
тип, скажем, для проверки типа или чего-то еще, например:
[email protected]:~$ python3
>>> u'man' == 'man'
True
>>> type(u'man') == type('man')
True
>>> exit()
[email protected]:~$ python2
>>> u'man' == 'man'
True
>>> type(u'man') == type('man')
False
, то вы должны быть в состоянии просто бросить его str(u'man')
или u'man'.encode('utf-8')
.
Но могут быть некоторые «боли»/бесконечные ошибки, если ваша строка unicode находится вне диапазона ascii, и вы пытаетесь записать ее в файл или распечатать ее на консоли, которая может не иметь установки по умолчанию для «utf- 8' . В этом случае, смотреть https://www.youtube.com/watch?v=sgHbC6udIqc
Кроме того, здесь подобные вопросы, связанные с u'...'
префиксом:
Вы имеете в виду ваша программа нуждается в список отличных Юникода строк строк? – YCFlame
не нужно удалять 'u' из вашей строки, он отлично работает так же, как строка,' u' представляет строку unicode – Hackaholic
да точно ... и я не знал, что u ссылается на Unicode .. :( –