【发布时间】:2010-12-27 18:08:45
【问题描述】:
我对 Windows BSTR 和 WCHAR 等感到困惑。WCHAR 是一个 16 位字符,旨在允许 Unicode 字符。那些需要超过 16 位来表示的字符呢?一些 UTF-8 字符需要更多。这是 Windows 的限制吗?
编辑:感谢所有答案。我想我了解 Unicode 方面。不过,我仍然对 Windows/WCHAR 方面感到困惑。如果 WCHAR 是 16 位字符,Windows 真的使用其中的 2 个来表示大于 16 位的代码点还是数据被截断?
【问题讨论】:
-
是的,它确实使用两个 WCHAR 值来表示一个大的 Unicode 值。这就是 UTF-16 的工作原理。