Windows CE / UTF-16 /中文

时间:2015-02-27 09:42:48

标签: windows unicode encoding windows-ce utf-16

我已经读过Windows CE使用" UTF-16版本的UNICODE" (我是编码的新手)。

当字符串包含需要2个字节以上的字符(如中文字符)时会发生什么?需要3吗? 如果我有一个包含中文字符的字符串,访问第N个字节就不必访问第N个可见符号了吗?

还有性能如何?如果我理解的话,每个可见符号具有可变字节数的编码需要从头开始扫描字符串以访问第N个可见符号吗?如果是,对于UTF-16也是如此吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

  

当字符串包含需要2个字节以上的字符(如中文字符)时会发生什么?需要3吗?

不,四。

  

Wikipedia: UTF-16

     

在UTF-16中,使用两个16位代码单元对大于或等于2 16 的代码点进行编码。


  

如果我理解的话,每个可见符号具有可变字节数的编码需要从头开始扫描字符串才能访问第N个可见符号吗?

是。请参阅示例Why use multibyte string functions in PHP?