Как напечатать все символы Юникода?

Я хочу напечатать несколько символов Unicode, но u'\u1000' до u'\u1099'. Это не работает:

for i in range(1000,1100):
    s=unicode('u'+str(i))
    print i,s

Ответ 1

Используйте unichr:

s = unichr(i)

Из документации:

unichr(i)

Возвращает строку Unicode одного символа, код Юникода - целое число i. Например, unichr (97) возвращает строку u'a '.

Ответ 2

Вы хотите использовать unichr() встроенную функцию:

for i in range(1000,1100):
    print i, unichr(i)

Обратите внимание, что в Python 3 достаточно chr().

Ответ 3

Попробуйте следующее:

for i in range(1000, 1100):
    print i, unichr(i)

Ответ 4

unichr - это функция, которую вы ищете - она принимает число и возвращает символ Unicode для этой точки.

for i in range(1000, 1100):
    print i, unichr(i)

Ответ 5

если вы хотите напечатать символы, соответствующие произвольному диапазону Юникода, вы можете использовать следующее (python 3)

unicode_range = ('4E00', '9FFF')  # (CJK Unified Ideographs)
characters = []
for unicode_character in range(int(unicode_range[0], 16), int(unicode_range[1], 16)):
    characters.append(chr(unicode_character))

Ответ 6

Можно оценить эту версию php-cli :

Он использует HTML-сущности и UTF8-декодирование.

Последняя версия XTERM и других терминалов прекрасно поддерживает символы Юникода :)

php -r 'for ($x = 0; $x < 255000; $x++) {echo html_entity_decode("&#".$x.";",ENT_NOQUOTES,"UTF-8");}'

enter image description here