genxlt [OutputFile ]
本 genxlt 命令从标准输入中读取一个源代码设置转换表文件并将编译版本写入由 OutputFile 参数指定的文件。如果未指定一个值给 OutputFile 参数,则使用标准输出。本源代码设置转换表文件包含 genxlt 命令生成编译版本使用和遵循的伪指令。
代码设置转换表源文件的格式为:
%token <blank> # <tab> and <space> %token <hex> # <zero>, <one>, <two>, <three>, <four>, # <five>, <six>, <seven>, <eight>, <nine>, # <a>, <b>, <c>, <d>, <e>, <f>, # <A>, <B>, <C>, <D>, <E>, <F>, %token <any> # any character but '\n' line : offset blank value blank comment '\n' | 'SUB' blank value blank comment '\n' ; blank : <blank> | blank <blank> ; offset : '0x' <hex> | offset <hex> ; value : offset | 'invalid' | 'invalid' | 'substitution' ; comment : '#' <any> | comment <any> ;
偏移是‘SUB' 的行被用来指定缺省置换字符。
如果表被设置为“置换”,使用本表的 iconv 转换器利用 SUB 值作为偏移量。
如果值被设定为“无效”,其使用本表的 iconv 转换器为偏移返回错误。
如果偏移在源代码设置转换表文件中多次被找到,则最后的条目被用在转换表的编译。
偏移及值必须在 0x00 到 0xff(包含 0x00 和 0xff)的范围之间。
下列是一个代码设置转换表的摘录:
SUB 0x1a substitute character 0x80 0xc7 C cedilla 0x81 0xfc u diaeresis 0x82 0xe9 e acute 0x83 0xe2 a circumflex 0x84 0xe4 a diaeresis 0x85 0x40 a grave 0x9F substitution 0xff invalid
如果成功,genxlt 命令以值 0 退出。如果输出文件打不开,genxlt 命令不成功并以值 1 退出。如果输入流中检测出语法错误,genxlt 命令将以值 2 立即退出,并将发生语法错误的行号写到标准错误。
由 genxlt 命令生成的文件名必须遵循以下的名称约定,为了使 iconv 子系统识别其作为一个转换文件:
fromcode: "IBM-850" tocode: "ISO8859-1" conversion table file: "IBM-850_ISO8859-1"
转换表名称由 tocode 文件名和 fromcode 文件名合并而成,以下划线连接。
生成一个非英文、用户定义的代码设置转换表,请输入:
cp /usr/lib/nls/loc/iconvTable/ISO8859-1_IBM-850_src $HOME vi $HOME/ISO8859-1_IBM-850_src genxlt < $HOME/ISO8859-1_IBM-850_src > cs1_cs2
iconv命令。
iconv_open 子例程、iconv 子例程及 iconv_close 子例程提供在一个程序中使用转换服务的方法。
本地语言支持及 AIX 5L Version 5.2 National Language Support Guide and Reference 中的编程的转换器概述。