Unicode可打印字符的范围是什么?

任何人都可以告诉我什么是Unicode可打印字符的范围? [例如Ascii可打印的字符范围是\ u0020 – \ u007f]

请参阅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还有数百个格式化控制字符,例如零宽度非joiner,使得字符间距更近,或者双向文本控制。 这个格式化控制字符比较分散。

更重要的是,你在做什么,需要你知道Unicode的非打印字符? 更可能的是,无论你想要做的是解决你的问题的错误方法。

首先,你应该在你的问题中删除“UTF8”这个词,这不是恰当的(UTF8只是Unicode的一种编码,它与你的问题是正交的)。

第二:“可打印/不可打印”的含义在Unicode中不太清楚。 也许你的意思是一个“ graphics字符 ”; 甚至可以争论一个空间是可打印/graphics的。 非graphics字符基本上由控制字符组成:范围0x00-0x0f加上一些分散的字符。

无论如何,绝大多数Unicode字符(超过200.000)是“graphics”。 但是,这并不意味着它们在您的环境中是可打印的。

在我看来,如果你打算生成一个“随机打印的”unicodestring,试图包含所有“可打印的”字符,这似乎是个不错的主意。

你应该做的是select一个字体,然后生成一个列表,其中的Unicode字符为你的字体定义了字形。 您可以使用像freetype这样的字体库来testing字形(testingFT_Get_Char_Index(…)!= 0)。

Unicode ,stict术语,没有范围。 数字可以走向无限。

你给的不是UTF8,它有1个字节的ASCII字符。

至于范围,我相信没有可打印字符的范围。 它一直在发展。 检查我给上面的页面。