2011-11-02 114 views
2

我知道这有点含糊,所以在上下文中,可以把它想象成“你可以发推文的角色”或类似的东西。我的问题是,支持utf8的浏览器或服务可以解析多少个有效的unicode字符,这样utf8浏览器就可以复制并粘贴它,而不会出现任何问题。有多少有效的utf8字符?

我想我不想要的是全角字符空间,因为我知道它有很多保留给不会显示的命令字符或保留字符(除非我超级错误!)。

+0

如果某个字符在Unicode规范中列出,则它具有有效的UTF-8表示形式。如果unicode codepoint遵循规范,那么它是有效的。所以,是的,循环逻辑。这是有效的,因为它不是无效的。 –

+0

无法知道显示设备是否支持具有指定代码点的字体,或者甚至无法确定显示设备是否支持具有指定代码点的字体。你不会相信有多少字体将字体组合在一起,而不是总是以相同的方式。 – tchrist

回答

5

UTF-8不是重要的因素,因为所有的标准Unicode编码(UTF-8,UTF-16,UTF-32)都以不同的方式编码相同的字符空间。

从你的解释我看你不只是想要1,112,064有效的Unicode代码点?

Unicode 6.0和ISO/IEC 10646:2010定义了109,449个字符,但少数这些就是你所说的“控制字符”。哪些属于或不属于该类别取决于你如何计算。复制和粘贴可能会导致某些字符被视为彼此相同或完全忽略,具体取决于操作系统和执行复制和粘贴的程序。

但是,由于Unicode是向前兼容的,某些系统将正确保留尚未分配的字符。毕竟,仅仅因为你运行的是Windows XP,并且你复制并粘贴了一个文件,这些文件中的字符不是标准化的,直到2009年并不意味着你期望它们消失。通过这种思维方式,可能会有一百万左右的可能性,尽管他们的视觉外观在某些地方可能难以区分。