【问题标题】:Windows CE / UTF-16 / ChineseWindows CE / UTF-16 / 中文
【发布时间】:2015-04-29 23:26:00
【问题描述】:

我听说 Windows CE 使用“UTF-16 版本的 UNICODE”(我是编码新手)。

当一个字符串包含一个需要超过 2 个字节的字符时会发生什么,比如中文字符?需要3个吗? 如果我有一个包含中文字符的字符串,访问第 N 个字节将不一定访问第 N 个可见符号?

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

谢谢。

【问题讨论】:

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


【解决方案1】:

如果字符串包含需要超过 2 个字节的字符(如汉字),会发生什么情况?需要3个吗?

不,四个。

Wikipedia: UTF-16:

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


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

是的。参见例如Why use multibyte string functions in PHP?

【讨论】:

  • 感谢您的帮助。
猜你喜欢
  • 2011-01-21
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 2011-02-21
  • 2012-05-10
  • 2014-11-14
相关资源
最近更新 更多