Yip*_*Yay 4 c++ windows unicode utf-16
Windows将wchar_t
符号定义为16位长.但是,使用的UTF-16
编码告诉我们一些符号实际上可能用4个字节(32位)编码.
这是否意味着如果我正在为Windows
以下声明开发应用程序:
wchar_t symbol = ... // Whatever
Run Code Online (Sandbox Code Playgroud)
可能只代表实际符号的一部分?
如果我*nix
在wchar_t
32位长的地方做同样的事情会发生什么?
是的,这意味着symbol
可能在Windows上拥有代理对的一部分.On *nixes
wchar_t
是32位长,将保留整个Unicode字符集.请注意,Unicode代码点不代表字符,因为某些字符可能由多个Unicode代码点编码,因此根本无法计算字符数.特别是这意味着在Unicode库之外的任何地方使用除UTF-8编码的窄字符串之外的任何东西都没有意义,即使在Windows上也是如此.
阅读这个旧帖子了解详情.
归档时间: |
|
查看次数: |
218 次 |
最近记录: |