kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 prongs
prongs
Вопрос

Перевод строки Python в юникод

Возможный дубликат:. Как в python считать строку ASCII юникодом и убрать из нее экранированные символы? Как преобразовать escape-последовательности unicode в символы unicode в строке python

У меня есть строка, которая содержит символы юникода, например, \u2026 и т.д. Почему-то она не принимается как unicode, а принимается как str. Как мне преобразовать ее обратно в юникод?

>>> a="Hello\u2026"
>>> b=u"Hello\u2026"
>>> print a
Hello\u2026
>>> print b
Hello…
>>> print unicode(a)
Hello\u2026
>>> 

Итак, очевидно, что unicode(a) - это не ответ. Тогда что же?

53 2012-04-22T13:55:29+00:00 3
 Community
Community
Редактировал вопрос 23-го мая 2017 в 12:10
Программирование
python
string
unicode
python-2.x
python-unicode
Решение / Ответ
 georg
georg
22-го апреля 2012 в 1:59
2012-04-22T13:59:40+00:00
Дополнительно
Источник
Редактировать
#16003800

Эскапады Юникода работают только в строках Юникода, так что это

 a="\u2026"

на самом деле является строкой из 6 символов: '\', 'u', '2', '0', '2', '6'.

Чтобы сделать из этого юникод, используйте decode('unicode-escape'):

a="\u2026"
print repr(a)
print repr(a.decode('unicode-escape'))

## '\\u2026'
## u'\u2026'
76
0
Chris Morgan
Chris Morgan
22-го апреля 2012 в 1:59
2012-04-22T13:59:53+00:00
Дополнительно
Источник
Редактировать
#16003801

Декодируйте его с помощью кодека unicode-escape:

>>> a="Hello\u2026"
>>> a.decode('unicode-escape')
u'Hello\u2026'
>>> print _
Hello…

Это происходит потому, что для неюникодной строки \u2026 не распознается, а рассматривается как буквальная серия символов (чтобы выразить это более ясно, 'Hello\\\u2026'). Вам нужно декодировать эскейпы, и кодек unicode-escape может сделать это за вас.

Обратите внимание, что вы можете заставить unicode распознать его таким же образом, указав аргумент codec:

>>> unicode(a, 'unicode-escape')
u'Hello\u2026'

Но способ a.decode() приятнее.

26
0
 jamylak
jamylak
22-го апреля 2012 в 2:00
2012-04-22T14:00:00+00:00
Дополнительно
Источник
Редактировать
#16003802
>>> a="Hello\u2026"
>>> print a.decode('unicode-escape')
Hello…
16
0
Похожие сообщества 30
Python beginners
Python beginners
17 345 пользователей
Вопросы про Python для чайников. Cпам и троллинг неприемлем. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Правила группы: https://t.me/ru_python_beginners/1649981
Открыть telegram
Python
Python
14 260 пользователей
Уютный чат для профессионалов, занимающихся поиском питоньих мудростей. Как не получить бан: https://t.me/ru_python/1961404
Открыть telegram
🐍 Python Stepik Chat
🐍 Python Stepik Chat
11 673 пользователей
Этот уютный чат создан для помощи в решение задач на прекрасном курсе "Поколение Python: курс для начинающих" и не только. Правила: https://t.me/pythonstepikchat/619142 Чат для оффтопа - t.me/+fqNb78zlQY81NGUy Наш канал - @kimport_this
Открыть telegram
aiogram
aiogram
8 250 пользователей
Репозиторий: https://github.com/aiogram/aiogram Сайт: https://aiogram.dev Полезная информация: https://t.me/aiogram_ru/1421485?thread=1421477
Открыть telegram
Python — вакансии и аналитика
Python — вакансии и аналитика
6 459 пользователей
Публикуем вакансии и запросы на поиск работы по направлению Python, Flask и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @golang_jobs, @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs
Открыть telegram
Сообщество Python Программистов
Сообщество Python Программистов
5 852 пользователей
Канал: @pip_install Наши сайты: https://python-scripts.com https://selenium-python.com https://itfy.org Мы в ВК: https://vk.com/open_sourcecode Вакансии: https://t.me/python_scripts_hr
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 6 дней назад
2
Денис Васьков
Зарегистрирован 1 неделю назад
3
Dima Patrushev
Зарегистрирован 1 неделю назад
4
sirojidddin otaboyev
Зарегистрирован 2 недели назад
5
Елена Гайдамамакинат
Зарегистрирован 2 недели назад
DE
ES
ID
JA
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией