utf-8 - 有多少个有效的 utf8 字符?

标签 utf-8

我知道这有点模糊,因此就上下文而言,将其视为“您可以发推文的角色”或类似的内容。我的问题是支持 utf8 的浏览器或服务可以解析多少个有效的 unicode 字符,这样 utf8 浏览器就可以毫无问题地复制和粘贴它。

我想我不想要的是完整的字符空间,因为我知道其中很多是为命令字符或不会显示的保留字符保留的(除非我 super 错误!)。

最佳答案

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 年之前尚未标准化的字符的文档,并不意味着您希望它们消失。通过这种思维方式,可能会有一百万左右额外的可能字符,尽管它们的视觉外观在某些地方可能难以区分。

关于utf-8 - 有多少个有效的 utf8 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7984167/

相关文章:

java - 来自 byte[] 和 UTF-8 的字符串在 Android 上与在 Windows JVM 上给出不同的结果

Java读取包含日文字符的文件

java - 编写没有 BOM 的 UTF-8

javascript - 检查 textarea 中的值是否为 ascii

php - 中文字符问题,PHP Web 服务

java - 如何在 Java 中使用正确的字符编码获取绝对路径?

ruby-on-rails - 如何使用 OpenSSL::Cipher 加密 UTF-8 字符串中的数据?

c++ - 如何解码 UTF-8?

javascript - 如何删除非字母数字字符和空格,但在 JavaScript 中保留外语

java - MySQL 数据库的 UPDATE 语句中出现两字节 UTF-8 字符错误