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

Может кто-нибудь, пожалуйста, скажите мне, какой диапазон символов для печати в Юникоде? [например. Печатный диапазон символов Ascii -\u0020 -\u007f]

Ответ 1

См. http://en.wikipedia.org/wiki/Unicode_control_characters

Возможно, вы захотите особо посмотреть на контрольный символ C0 и C1 http://en.wikipedia.org/wiki/C0_and_C1_control_codes

Вики говорит, что контрольный символ C0 находится в диапазоне U + 0000-U + 001F и U + 007F (который является тем же самым диапазоном, что и ASCII), и контрольный символ C1 находится в диапазоне U + 0080-U + 009F

кроме символа C-управления, Unicode также содержит сотни символов управления форматированием, например. нулевой ширины, что делает расстояние между символами ближе или двунаправленным текстовым контролем. Эти символы управления форматированием довольно разбросаны.

Что еще более важно, что вы делаете, что вам нужно знать Unicode непечатаемые символы? Скорее всего, что бы вы ни пытались сделать, это неправильный подход к решению вашей проблемы.

Ответ 2

Во-первых, вы должны удалить слово "UTF8" в своем вопросе, это не уместно (UTF8 является всего лишь одним из кодировок Unicode, что-то ортогонально вашему вопросу).

Во-вторых: значение "печатать/не печатать" в Unicode менее очевидно. Возможно, вы имеете в виду " графический символ"; и можно даже оспаривать, если пространство печатается/графически. Неграфические символы состоят, в основном, из управляющих символов: диапазон 0x00-0x0f плюс некоторые другие, которые разбросаны.

В любом случае подавляющее большинство символов Юникода (более 200 000) являются "графическими". Но это, конечно, не означает, что они могут быть распечатаны в вашей среде.

Мне кажется плохой идеей, если вы намереваетесь создать строку unicode с произвольной печатью, чтобы попытаться включить все "печатные" символы.

Ответ 3

Что вам нужно сделать, это выбрать шрифт, а затем сгенерировать список символов Unicode для глифов, определенных для вашего шрифта. Вы можете использовать библиотеку шрифтов, такую ​​как freetype, для проверки глифов (тест для FT_Get_Char_Index (...)!= 0).

Ответ 4

Unicode, термин stict не имеет диапазона. Числа могут быть бесконечными.

То, что вы дали, это не UTF8, у которого есть 1 байт для символов ASCII.

Что касается диапазона, я считаю, что нет диапазона печатных символов. Он всегда развивается. Проверьте страницу, указанную выше.