Unicode程序有什么独到之处? 有没有必要单独开发一个Unicode版本的程序?解决方法

Unicode程序有什么独到之处? 有没有必要单独开发一个Unicode版本的程序?
Unicode程序有什么独到之处?   有没有必要单独开发一个Unicode版本的程序?

个人猜想:可能是为了更好的支持中文,韩文等需要2个字节才能表示一个字符的语言.

------解决方案--------------------
1.从2K以及以后的系统,内核全部使用Unicode。ANSI要在内部转换成Unicode,然后再调用Unicode。所以,单从API的角度上看,Unicode程序在2K以及以后的系统上,运行速度要比ANSI快。ANSI仅仅为了向下兼容。
2.Unicode版本和ANSI版本的区别在于字符及字符串处理上。我个人喜欢使用Unicode,方便。
------解决方案--------------------
楼上说的比较全
------解决方案--------------------
再补充几点
3 Unicode可以解决各种字符混合的问题。比如你要把中文和其他语言混合起来(英文和GBK所能表示的字符除外),用非Unicode是很难解决的,因为只能使用同一个代码页。而Unicode可以毫不困难的同时显示来自多个不同国家的语言,互不干扰。
4 在进行数据交换的时候(文件/网络),对方并不知道该数据是何种字符集,一般要靠约定(比如都是在中国,那么一般就是GB/GBK)或者靠猜,如果是乱码就换一种字符集,直到正确为止。如果用了Unicode就可以统一处理。
5 特殊字符识别的问题。以前这种问题比较突出,比如当有制表符的时候,英文制表符和汉字很难区分(编码上有重叠),需要智能识别,而且经常显示的是乱码(以前UCDOS等等经常标榜自己的智能制表符识别比较好),也是因为没有Unicode导致的问题。当然现在制表符已经不常用了,这个问题慢慢也就消失了,但是类似的问题应该还是存在。

------解决方案--------------------
COM组件中的字符串BSTR也采用的Unicode编码,如果用ANSI,就要来回转换,即麻烦又影响性能。