Lio*_*ing 27 visual-studio character-set
我对visual studio中的"字符集"选项有疑问.
字符集
- 未设置
- 使用Unicode字符集
- 使用多字节字符集
我想知道"字符集"中三个选项之间的区别.
而且,如果我选择其中的某些内容,则会影响对英语以外语言的支持.(比如RTL语言).
Han*_*ant 28
它是一种兼容性设置,适用于为未启用Unicode的旧版Windows编写的旧代码.Windows 9x系列中的版本,Windows ME是最后一个被广泛忽略的版本.选择"未设置"或"使用多字节字符集"时,将字符串作为参数的所有Windows API函数都重新定义为一个小的兼容性帮助函数,该函数将char*字符串转换为wchar_t*字符串,即API的本机字符串类型.
此类代码严格依赖于默认的系统代码页设置.代码页将8位字符映射到Unicode,选择字体字形.当运行代码的机器具有正确的代码页时,您的程序将只生成正确的文本.如果代码页不匹配,则值> = 128的字符将被呈现错误.
始终为现代代码选择"使用Unicode字符集".特别是当您想要支持从右到左布局的语言并且您没有在开发机器上选择阿拉伯语或希伯来语代码页时.使用std::wstring或wchar_t[]在您的代码中.获取实际的RTL布局需要打开调用中的WS_EX_RTLREADING样式标志CreateWindowEx().
Chr*_*ris 12
汉斯已经回答了这个问题,但我发现这些设置都有好奇的名字.(究竟什么没有设置,为什么其他两个选项听起来如此相似?)关于:
Windows上的MBCS和UTF-8之间的区别更详细地涉及这些问题.
| 归档时间: |
|
| 查看次数: |
34073 次 |
| 最近记录: |