文字:  背景:  字号:

 

附录

附录A Unicode简介

  Unicode与ISO-10646有着密切的关系。ISO-10646提供了一套32位的编码标准。它可以看成是各种国家标准的组合,将已存在的字符编码标准简单地相加在一起。Unicode是一个16位的标准,它把各种语言字符编进一个统一的码表,即使字符分属于一种语言文字的不同变体(如汉字的简体和繁体),也只有一种表示。Unicode与ISO-10646在某种程度上是统一的。1993年ISO-10646被分成两种形式:UCS-2(UCS是Universal Character Set的简称)和UCS-4。前者是16位的,后者是32位的。前者ISO-10646编码标准中第0段第0组的字符集,是后者的子集。UCS-2与Unicode1.1版的字符一一对应,只是Unicode1.1版为某些字符提供了另外的语义。这个编码标准基本上包括了所有广泛应用的语言文字。
  Unicode字符集大致包括以下几部分:
  0000-1FFF 字母表
  2000-2FFF 符号和标点
  3000-4DFF CJK辅助符号(CJK指中、日、韩汉字)
  4E00-9FFF CJK统一的表意文字,即广义的汉字。
  A000-DFFF 保留部分
  E000-FFFD 限制使用
EEEE和FFFF不包括在字符集内。
  Unicode字符集与ASCII字符集也有对应关系。如Unicode的0020-007E为基本拉丁字母,对应于ASCII中的0x20-0x7E。另外大多数符号与现行国际标准又致对应。如:
  0370-03CF 基本希腊字母   基于ISO 8859-7
  0400-04FF 斯拉夫语字母   基于ISO 8859-5
  05D0-05EA 基本希伯来语字母 基于ISO 8859-8
等等。
  在Java1.02版本中,字节流的输入输出忽略了Unicode字符的高八位,因而实际上只支持ASCII字符。在1.1版本中增加了字符流的输入输出,可以支持真正Unicode字符集。
  在纯英文Java环境中想使用其它文字时,需要做两步工作:一是要安装字体,二是要修改JDK的字体设置文件font-properties。比如,要使用亚洲语言的字体,在安装相应字体后,还要把font.properties文件替换为相应的font.properties.<语言代号>文件。如在Win32平台的JDK1.1.1中已包含了4个文件(在\lib目录下),分别对应不同的广义汉字:
  font.properties.ja  日文
  font.properties.ko  韩文
  font.properties.zh  简体汉字
  font.properties.zh_TW 繁体汉字
  如果使用其它文字,还需自己编写相应的font.properties.<语言代号>文件。另外还可通过编辑font.properties文件实现同时使用多种语言文字。上述的扩充字体步骤在今后的Java版本中很可能会改变,有兴趣的读者可以参考Sun公司在网上发布的JDK文档中关于国际化的部分。
  Unicode字符集的实现与平台有关,其可用的字体受到平台限制。如Windows平台就只提供了部分的Unicode字符。因此,目前应用Unicode还有一定的障碍。但Java的国际化是必然趋势,今后Java开发工具一定会很好地解决这个问题。

附录B 类库一览(JDK1.1)

附录C Java及相关资源网址