【发布时间】:2011-06-26 10:15:33
【问题描述】:
你能计算出一个 UTF16 编码通过排列/组合表示 1,112,064 个数字吗?
【问题讨论】:
-
请展开:就目前而言,它没有意义。
-
对于 UTF-8,已知可以表示 2^31 个可能的字符。我在想如果你应用这个公式来计算可能的 UTF-16 字符数。
-
会有 2^16 种可能性吗?
-
但 UTF-8 不代表 2^31 个可能的字符。 31 位表示 2^31 个可能的字符,但 UTF-8 并未按照规范 (RFC 3629) 涵盖所有 31 位。说它确实是错误的,如果有一个字符使用超出指定范围的值编码,它就不是 UTF-8。
-
不要将代码点与字符混淆。 U+FFFF 不是字符; U+D800 也不是。但两者都是代码点。它们只是不适用于交换。
标签: unicode character-encoding utf-16