《WINDOWS程序设计》(015)第2章 Unicode简介-第2.0.0 前言
第2章Unicode简介在第1章,我承诺会详细阐述关于C语言的某些方面,这些内容或许在常规的字符模式编程中你没有接触过,但却恰恰在Microsoft Windows系统中发挥着重要作用。宽字符集和Unicode就是此类值得重点关注的话题。注:宽字符集包含Unicode但不仅限于Unicode
简单来说,Unicode是ASCII字符编码的一个扩展。Unicode用的是16位字符编码,而不是像ASCII那样7位代表一个字符,也不是计算机上常见的每个字符8位的方式。这样,在计算机通信中,世界上所有书面语言中的字母、象形文字和其他符号都可以用Unicode来表示。人们最初的意图是用Unicode作为ASCII的补充,如果运气好的话,希望它可以最终取代ASCII。考虑到ASCII编码仍然是计算中占有重要地位的标准之一,这显然是一个不太容易完成的艰巨任务。
Unicode影响着计算机行业的方方面面,但最深刻的或许是对操作系统和编程语言的影响。在这方面,我们只完成了将近一半的任务。Windows NT从底层向上支持了Unicode。(不幸的是,Windows98只包括了少量的Unicode支持。)被ANSI规范化的C编程语言以它对宽字符的支援从本质上支持了Unicode,我将在后面详细讨论这一点。注:从一个完整的可实现正常功能(不仅仅就是像例题中的只显示一个对话框,然后就结束)的程序来讲,如果使用Unicode编码是不能在Windows 98下正常运行的。
当然,像往常一样,我们作为程序员会面对许多繁复的基本工作。为了减轻大家的负担,我已经把本书中的所有程序都写成了“Unicode兼容”版。在本章稍后关于Unicode的讨论会使其含义变得更加清晰。
页:
[1]