代码集之间的转换
字符是用来组织、控制或表示数据的任何符号。 用来描述特定语言的一组这样的符号组成了字符集。 代码集包含了字符集的编码值。 代码集中的编码值提供了系统及其输入和输出设备之间的接口。 多文化支持提供了转换器,可转换在不同代码集中找到的字符编码值。
从历史上说,这项工作曾经针对的是编码英语字母。 对于此目的,使用 7 位编码方法已经足够了,因为英语字符的数量不大。 为了支持更大量的文字符号,比如亚洲语言,如中文、日语和韩语等,人们开发出了包含多字节编码的其他代码集。 现在,Unicode,一个支持全球信息处理的字符集用作操作系统级别的基本交换格式。 UTF-8、UTF-16 和 UTF-32 代码集是系统应用程序的主要 Unicode 编码方案。
全球化程序必须准确地读取在不同代码集环境中生成的数据,并且准确地处理这些信息。 了解当前代码集有助于代码集转换。 可以使用 nl_langinfo(CODESET) 子例程来获取进程中的当前代码集。 返回值是一个 char 指针,它就是系统中代码集的名称。