unicode不适用,unicode字符集是unicode联盟

  unicode不适用,unicode字符集是unicode联盟

  用VC开发的时候,总会想起《深入浅出MFC》里的一句名言:理想不与现实妥协,理想归于尘土。我曾经认为,完美的软件必须使用unicode字符集,因为这是实现多语言版本的必要条件。055-79000还列举了一堆说服我们使用unicode字符集的理由。最大的好处当然是软件本地化的需要。其他优势包括:

  1.您可以轻松地在不同语言之间交换数据。

  2.使您能够分配单个二进制文件。支持所有语言的exe文件或DLL文件。

  3.提高应用程序的运行效率。

  事实上,微软也在大力推广unicode。例如,从VS 2003开始,所有VC项目默认使用unicode字符集。但是在公司的实际开发中,我不记得用的是unicode字符集,我用的是多字节字符集。原因在于考虑到历史。想象一下,系统基本是基于之前的多字节字符集底层模块和多字节字符集开源库。谁有勇气用unicode字符集重新编译?即使有勇气,潜在的不确定性风险也太大了。而《Windows核心编程》所列举的一些原因已经接近理想状态:软件的多语言版本对于大多数国产软件来说更像是一个遥远的梦,所谓的unicode版本比多字节版本运行速度更快。在硬件飞速发展的今天,估计也只是理论上存在,这种细微的差别用户基本察觉不到,更别说构成效率的瓶颈了。

  但是,我们真的不需要unicode吗?如果我们真的需要推出多语言版本呢?当时我们估计,在由于字符集不兼容而修改一些代码的同时,我们想:要是我们一开始就使用unicode字符集就好了!考虑到这一点,我认为我们现在可以做出如下估计:

  1.在开发之初评估开发多语言版本的必要性。如果近期计划推出多语种版本,要早做准备,比如底层不动,上层接口层采用unicode字符集,只需要改变上层调用底层接口(即把unicode字符转换成多字节字符传递给底层接口)。

  2.开发过程中尽量采用兼容多字节字符集和unicode字符集的类型和函数(这里我说的是Windows环境下的开发)。例如,字符类型是TCHAR,字符串包含在_T宏中。以后多字节到unicode转换的工作量会少很多。

  参考资料:

  1.《Windows核心编程》第四版,英文原题《微软视窗编程应用》第四版,作者Jetfrey Richter,译者王建华等。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: