为什么习惯采用了UNICODE
ANSI编码是不是被淘汰了,怎么现在都喜欢采用UNICODE编码!
比如今天刚在网站上看到在输出宽字符的时候要用WOUT替代COUT,说宽字符属于16位字符,那么干嘛不都用16位字符,ANSI是不是已经没有存在的意义了。
[解决办法]
国际化需要吧
[解决办法]
虽然很多地方都用ansi。的确是有点不合时宜。但是要渐渐地淘汰,还需要时间。
[解决办法]
趋势啦,很多 SDK 都是 UNICODE,你不用 unicode也不行啊
ANSI 不用说淘汰啊,在很多通信协议里面都有的
[解决办法]
Uicode占用空间大点,处理更方便,速度更快。所以。。。
[解决办法]
[解决办法]
是啊 因为windows要统治全球 包括阿拉伯文字 象形文字 这些地区,只能使用UNICODE,
自打WIN 2K以后,API内部都使用UNICODE,即使你使用了ASCII的API,最终还是会转换为宽字符的,所以直接使用UNICODE,在一定程度上也提高了程序的效率。
[解决办法]
宽字符不是16位字符。例如GCC原生wchar_t是32位。16位字符类型是char16_t。
通过代码页等手段扩展ANSI对于显示同时多个地区的字符几乎是不可能的,并且只会是复杂的变长编码。在Unicode字符集(UCS)的基础上可以使用了变长编码(UTF-8/UTF-16)和定长编码(UCS-2/UCS-4)。对于变长编码,窄字符类型仍然适用,但一个对象不实际对应一个字符。
Windows下所谓的Unicode通常指当初2字节的UCS-2,后来扩展了代理对成为变长编码UTF-16。UCS-2无法全部表示Unicode的0x10FFFF个编码点范围。WinAPI的Unicode支持几乎都只是UCS-2的。
即便是完全Unicode也不见得一定够用,例如Han Unification问题和区域问题。不选择Unicode作为中立内部编码的一个例子是BSD的Citrus Project。不过现在看来大多数人还是觉得Unicode够用了。
[解决办法]
国际化