Oracle Solaris 11 将 International Components for Unicode (ICU) C/C++ 库添加到了可用接口中。ICU 是成熟的、广泛使用的库集,为软件应用程序提供 Unicode 和全球化支持。ICU 是可移植的,在所有平台上以及在 C/C++ 与 Java 软件之间为应用程序提供相同结果。
ICU 提供的一些服务包括:
代码页转换-在文本数据与 Unicode 以及几乎任何其他字符集或编码之间进行转换。
整理-根据特定语言、地区或国家的习惯和标准来比较字符串。
格式化-根据所选语言环境设置数字、日期、时间和货币金额的格式。
时间计算-提供了多种类型的日历和全面的时区计算 API 集。
Unicode 支持-ICU 紧密跟踪 Unicode 标准,从而方便访问众多 Unicode 字符属性、Unicode 标准化、大写转换 (case folding) 和 Unicode 标准指定的其他基本操作。
正则表达式-ICU 正则表达式完全支持 Unicode,同时提供非常有竞争力的性能。
双向文本 (Bidi)-支持处理包含从左向右书写和从右向左书写的混合数据的文本。
文本边界-定位词、句子和段落在一系列文本中的位置,或者确定在显示文本时将适合换行的位置。
Oracle Solaris 11 中的 ICU 划分为两个软件包:一个是 library/icu,它仅包含各个库;另一个是 developer/icu,它提供头文件和多个实用程序,例如 uconv(1)。
有关更多信息,请参见项目的 Web 站点 http://site.icu-project.org。libicui18n(3LIB)、libicuio(3LIB)、libicudata(3LIB)、libicule(3LIB)、libiculx(3LIB)、 libicutu(3LIB) 和 libicuuc(3LIB) 手册页说明如何使用 Oracle Solaris 中的库。
除 iconv(1) 之外,属于 International Components for Unicode (ICU) 工具集的 uconv(1) 命令也可用于将文本从一种编码转换为另一种编码。uconv 支持 229 种编码以及超过 1000 个别名。
该工具属于缺省情况下未安装的 developer/icu 软件包。要安装该工具,请发出以下命令:
# pkg install developer/icu
要将采用 cp-1252 编码的文本转换为 UTF-8 编码,可键入:
$ uconv -f cp1252 -t UTF-8 -o file_in_utf8.txt file_in_cp1252_encoding.txt
uconv 的另一种功能是音译-将字母从一种书写体转换为另一种书写体,而不翻译基础单词。下面的示例将一段希腊文字转换为拉丁字符:
$ echo “Σολαρις”| uconv -x Greek-Latin -f utf-8 -t utf-8 Solaris
有关此工具的功能的更多信息,请参见 uconv(1) 手册页。