![]() |
1
17
在C++世界中,
将输出
被调用。在较新的VC版本中
被调用,并且输出
|
![]() |
2
17
见 Wikipedia . 基本上,它是当前语言环境中“文本”的可移植类型(使用umlauts)。它比Unicode早,而且解决不了很多问题,所以今天,它主要是为了向后兼容而存在的。除非你必须使用它,否则不要使用它。 |
![]() |
3
10
原因是
注意
|
![]() |
4
8
通常认为提供数据类型之类的东西是一件好事 有意义的名字 . 什么是最好的, 烧焦 或 国际电信公司8 ?我想:
比这更容易理解:
这和 瓦查特 和 因特16 . |
![]() |
5
6
在我阅读相关标准的时候,微软似乎把这一标准提高了。 非常 .
我的POSIX主页
因此,如果您的平台支持Unicode,16位wchar_t是不够的。每个wchar-t都应该是一个字符的不同值。因此,wchar_t从一种有用的文本字符级工作方式(当然,在从locale multibyte解码之后)变成了在Windows平台上完全无用的方式。 |
![]() |
6
6
这可能会给移植项目带来问题,特别是如果您交换
因此
|
![]() |
7
4
为了添加到亚伦的评论中——在C++ 0x中,我们最终得到了真正的Unicode字符类型:CHAR16YT和CHAR32和T,以及Unicode字符串文字。 |
![]() |
8
2
从某种意义上说,它是“优越的”,它允许你分离上下文:你使用
作为一个侧节点(因为这是一个C问题),在C++中
|
![]() |
9
2
wchar-t是Unicode标准化之前的遗留问题。不幸的是,它并不是很有用,因为编码是平台特定的(在Solaris上,是区域设置特定的!),未指定宽度。此外,不能保证utf-8/16/32 codecvt方面是可用的,或者您将如何访问它们。一般来说,对于便携设备来说,这有点像噩梦。 显然,C++0X将支持Unicode,但以目前可能不会发生的进展速度… |
![]() |
10
1
除了一个小的, ISO 2022 japanese minority ,wchar_t始终是unicode。如果您真的很焦虑,可以在编译时确保这一点:
有时wchar_t是16位ucs-2,有时32位ucs-4,那又是什么呢?只使用
也见 Should UTF-16 be considered harmful? 在这个网站上。 |
![]() |
PHPLover · “支持PHP扩展或功能的端口”实际上是什么意思? 1 年前 |