下一页 上一页 目录

2. 代码

存在三种包含世界语字符的国际字符编码标准,其中两种常用的标准是 ISO-8859-3 (Latin-3) 和 Unicode (Unicode)。第一种标准用于 8 位字符,第二种标准用于 16 位字符。为了能够在 8 位和 7 位环境中传输 Unicode,存在 UTF-8 和 UTF-7 编码。

因为 Unicode 同时定义了世界上所有语言字符的码位,它正获得越来越多软件生产商的支持。

与例如 Windows NT 不同,Linux 内部使用 8 位编码。Unicode 支持主要体现在系统组件中,这些组件负责屏幕上的文本输出或与外部世界的信息交换相关。因此,控制台中有一些 Unicode,X 窗口中有一些,处理通过电子邮件或来自 WWW 的信息时有一些,以及与 CD-ROM 的文件系统(Joliet 文件系统)相关的一些。这些组件通常使用 8 位 Unicode 形式 UTF-8。

由于 Linux 中对 Unicode 的支持有些不一致,通常首选 ISO-8859-3。但据推测,情况将在 1999 年底之前发生变化。

关于国际标准和特殊程序中带有世界语字符的各个代码的全面信息,您可以在 Edmundo 找到。

有时您需要将世界语文本从 UTF-8 转换为 Latin-3 的可能性。为此,您可以使用以下 Perl 小程序。

  #!/usr/bin/perl
  while (<>) {
    s/\304\210/\306/g;
    s/\304\211/\346/g;
    s/\304\234/\330/g;
    s/\304\235/\370/g;
    s/\304\244/\246/g;
    s/\304\245/\266/g;
    s/\304\264/\254/g;
    s/\304\265/\274/g;
    s/\305\234/\336/g;
    s/\305\235/\376/g;
    s/\305\254/\335/g;
    s/\305\255/\375/g;
    print;
  };
要在另一个方向转换,请交换 /../../ 之间的两列。

要打印 Latin-3 文本,您可以使用 Albert Reiner 的解决方案。这是一个使用 TeX 进行打印的简单 Perl 小程序。

为了完整起见,这里我们仍然给出根据最广泛标准的世界语字符的代码点。UTF-8 使用 8 位代码点对 Unicode 字符进行编码,例如,UTF-8 用于 HTML 页面。

2.1 十六进制代码点

  litero  Latin-3 Unikodo UTF-8
  -----------------------------
  Cx      C6      0108    C4 88
  cx      E6      0109    C4 89
  Gx      D8      011C    C4 9C
  gx      F8      011D    C4 9D
  Hx      A6      0124    C4 A4
  hx      B6      0125    C4 A5
  Jx      AC      0134    C4 B4
  jx      BC      0135    C4 B5
  Sx      DE      015C    C5 9C
  sx      FE      015D    C5 9D
  Ux      DD      016C    C5 AC
  ux      FD      016D    C5 AD

2.2 十进制代码点

  litero  Latin-3 Unikodo UTF-8
  -------------------------------
  Cx      198     0264    196 136
  cx      230     0265    196 137
  Gx      216     0284    196 156
  gx      248     0285    196 157
  Hx      166     0292    196 164
  hx      182     0293    196 165
  Jx      172     0308    196 180
  jx      188     0309    196 181
  Sx      222     0348    197 156
  sx      254     0349    197 157
  Ux      221     0364    197 172
  ux      253     0365    197 173

2.3 八进制代码点

  litero  Latin-3 Unikodo UTF-8
  -------------------------------
  Cx      306     0410    304 210
  cx      346     0411    304 211
  Gx      330     0434    304 234
  gx      370     0435    304 235
  Hx      246     0444    304 244
  hx      266     0445    304 245
  Jx      254     0464    304 264
  jx      274     0465    304 265
  Sx      336     0534    305 234
  sx      376     0535    305 235
  Ux      335     0554    305 254
  ux      375     0555    305 255


下一页 上一页 目录