在一个字符中存储需要多少字节:
答案 0 :(得分:1)
.net和JavaScript都是UTF-16:
将每个Unicode代码点表示为一个或两个16位的序列 整数。最常见的Unicode字符只需要一个UTF-16代码 点,虽然Unicode补充字符(U + 10000和更高) 需要两个UTF-16代理代码点。小端和小端 支持big-endian字节顺序。
所以它可以是16位或32位。
答案 1 :(得分:1)
.NET和JavaScript都使用UTF-16。 UTF-16是一种所谓的可变长度编码,它使用16位代码单元来表示Unicode 代码点(它们是21位)长度)。从历史上看,它来自UCS-2当Unicode仍然是一个16位代码(后来被认为是不够的,因此扩展到21位)。
由于UTF-16使用16位代码单元,代码本身是一个16位代码,但为了代表字符,你必须看一下更贴近你的意思:
字符意味着 Unicode代码点,这可能是您的意图。以下是两种情况:
通常意义上的字符通常指的是字形,实际上,这就是我们认为的单个字符。那些可以具有任意多个变音符号,或者可以是由渲染引擎由多个代码点形成的连字。在这种情况下,长话短说:这些可以任意长,因为它们可以包含几个代码点。