Я хочу сделать словарь, в котором английские слова указывают на русский и французский переводы.
Как распечатать символы юникода в Python? Кроме того, как вы храните символы Unicode в переменной?
python
python-unicode
NoobDev4iPhone
источник
источник
u
позволяет Python рассматривать их как строковые литералы Юникода.Ответы:
Чтобы включить символы Unicode в исходный код Python, вы можете использовать escape-символы Unicode в форме
\u0123
в своей строке и префикс строкового литерала с 'u'.Вот пример, работающий в интерактивной консоли Python:
Строки, объявленные таким образом, являются переменными типа Unicode, как описано в документации Python Unicode .
Если выполнение указанной выше команды не отображает текст правильно, возможно, ваш терминал не может отображать символы Юникода.
Для получения информации о чтении данных Unicode из файла см. Этот ответ:
Чтение символов из файла в Python
источник
mystr
? тогда как это распечатать?print your_unicode_characters.encode('utf-8')
Напечатайте символ Юникода в Python:
Распечатайте символ Юникода прямо из интерпретатора Python:
Символ Юникода
u'\u2713'
- это галочка. Интерпретатор ставит галочку на экране.Распечатайте символ Юникода из скрипта Python:
Поместите это в test.py:
Запускаем так:
Если для вас не отображается галочка, то проблема может быть в другом месте, например, в настройках терминала или в том, что вы делаете с перенаправлением потока.
Хранить символы Юникода в файле:
Сохраните это в файл: foo.py:
Запустите его и направьте вывод в файл:
Откройте tmp.txt и загляните внутрь, вы увидите это:
Таким образом, вы сохранили код Unicode e с пометкой обфускации в файл.
источник
Если вы пытаетесь использовать
print()
Unicode и получаете ошибки кодека ascii , ознакомьтесь с этой страницей , TL; DR на которой выполняетсяexport PYTHONIOENCODING=UTF-8
перед запуском python (эта переменная определяет, в какой последовательности байтов консоль пытается кодировать ваши строковые данные). Внутри Python3 по умолчанию использует UTF-8 (см. Unicode HOWTO) так что проблема не в этом; вы можете просто поместить Unicode в строки, как показано в других ответах и комментариях. Проблема возникает тогда, когда вы пытаетесь вывести эти данные на консоль. Python считает, что ваша консоль может обрабатывать только ascii. В некоторых других ответах говорится: «Сначала запишите его в файл», но обратите внимание, что они указывают кодировку (UTF-8) для этого (так что Python ничего не меняет при записи), а затем использовать метод для чтения файл, который просто выплевывает байты, не обращая внимания на кодировку, поэтому это работает.источник
В Python 2 вы объявляете строки Unicode с помощью a
u
, как inu"猫"
и используетеdecode()
иencode()
для перевода в и из Unicode, соответственно.Это совсем немного проще в Python 3. Очень хороший обзор можно найти здесь . Эта презентация многое прояснила для меня.
источник
Учитывая, что это первый результат переполнения стека при поиске в Google по этой теме, следует упомянуть, что префикс
u
к строкам Unicode не является обязательным в Python 3. (пример Python 2 был скопирован из верхнего ответа)Python 3 (оба работают):
Python 2:
источник
Я использую Portable winpython в Windows, он включает консоль IPython QT, я смог добиться следующего.
ваш консольный интерпретатор должен поддерживать Unicode, чтобы отображать символы Unicode.
источник
Еще одна вещь, которую еще не добавили
В Python 2, если вы хотите распечатать переменную с Unicode и использовать
.format()
, сделайте это (сделайте базовую строку, которая форматируется, строкой unicode с помощьюu''
:источник
Это исправляет печать UTF-8 в python:
источник
Заменить "+" на "000" . Например, «U + 1F600» превратится в «U0001F600», добавив перед кодом Unicode «\» и напечатайте. Пример:
Проверьте это, возможно, это поможет смайлики Unicode Python
источник