LC_CTYPE 语言环境定义源文件格式的类别
用途
定义字符分类、大小写转换和其他字符属性。
描述
语言环境定义源文件的 LC_CTYPE 类别定义了字符分类,大小写转换及其他字符属性。 此类别以 LC_CTYPE 类别标题开头,并以 结束 LC_CTYPE 类别尾部终止。
LC_CTYPE 类别语句的所有操作数都定义为字符列表。 每个列表由一个或多个分号分隔的字符或符号字符名称组成。
以下关键字在 LC_CTYPE 类别中被识别。 在描述中,术语 自动包含 表示如果引用的字符被包括或省略,那么不会发生错误。 如果缺少这些字符,那么将提供这些字符,如果存在,那么将接受这些字符。
| 项 | 描述 |
|---|---|
| 复制 | 指定要用作此类别的定义的现有语言环境的名称。 如果 复制 语句包括在文件中,那么不能指定其他关键字。 |
| 上 | 定义大写字母字符。 不能指定由 控制, 数字, 蓬特或 空间 关键字定义的任何字符。 必须至少定义大写字母 A 至 Z。 |
| 较低 | 定义小写字母字符。 不能指定由 控制, 数字, 蓬特或 空间 关键字定义的任何字符。 至少必须定义一个小写字母 a-z。 |
| Alpha | 定义所有字母字符。 不能指定由 控制, 数字, 蓬特或 空间 关键字定义的任何字符。 由 上 和 下 关键字定义的字符将自动包含在此字符类中。 |
| 数字 (digit) | 定义数字数字字符。 只能指定数字 0 2 1 3 4 5 6 8 3 , 4 , 5 , 6 , 7 , 8 和 9。 |
| 阿尔努姆 | 定义字母数字字符。 不能指定由 控制, 蓬特或 空间 关键字定义的任何字符。 由 阿尔法 和 数字 关键字定义的字符将自动包含在此字符类中。 |
| 空间/空格/空号脉冲 (space) | 定义空格字符。 不能指定 上, 下, 阿尔法, 数字, 图, 控制或 xdigit 关键字所定义的任何字符。 最低限度,<space>,<form-feed>,<newline>,<carriage return>,<tab>和<vertical-tab>并且必须指定由 空白 关键字定义的任何字符。 |
| 控制 | 定义控制字符。 不能指定 上, 下, 阿尔法, 数字, 蓬特, 图, 打印, xdigit或 空间 关键字所定义的任何字符。 |
| 蓬特 | 定义标点字符。 定义为以下字符的字符:<space>不能指定由 上, 下, 阿尔法, 数字, 控制或 xdigit 关键字定义的字符和字符。 |
| 图形 | 定义可打印字符,不包括<space>字符。 如果未指定此关键字,那么由 上, 下, 阿尔法, 数字, xdigit和 蓬特 关键字定义的字符将自动包括在此字符类中。 不能指定 控制 关键字定义的任何字符。 |
| 定义可打印字符,包括<space>字符。 如果未指定此关键字,那么<space>由 上, 下, 阿尔法, 数字, xdigit和 蓬特 关键字定义的字符和字符自动包含在此字符类中。 不能指定 控制 关键字定义的任何字符。 | |
| x位数 | 定义十六进制数字字符。 可以 0 9 数字 0 到 9 以及字母 A 到 F 和 a 到 f。 xdigit 关键字缺省为其正常类限制。 |
| 空白 | 定义空白字符。 如果未指定此关键字,那么<space>和<horizontal-tab>字符包括在此字符类中。 此语句定义的任何字符都自动包含在 空间 关键字类中。 |
| 查尔班 | 将一个或多个特定于语言环境的字符类名定义为以分号分隔的字符串。 然后可以在 LC_CTYPE 定义中随后定义每个指定的字符类。 字符类名由 可移植字符集符号中的至少一个字母数字字符组成,且最多为 32 个字节。 字符类名的第一个字符不能为数字。 名称不能与此部分中定义的任何 LC_CTYPE 关键字匹配。 |
| 字符类名称 | 定义要分类为属于指定的特定于语言环境的字符类的字符。 POSIX 语言环境中不需要存在特定于语言环境的指定字符类。 如果类名由 查尔班 关键字定义,但随后未向其分配任何字符,那么它表示不包含任何属于它的字符的类。 charclass-name 可用作 世界 子例程中的 财产 参数,在正则表达式和 shell 模式匹配表达式中使用,并由 文 命令使用。 |
| toupper | 定义小写字符到大写字符的映射。 此关键字的操作数由分号分隔的字符对组成。 每个字符对都括在 () 中 (括号) ,用 a , (逗号) 与下一对分隔。 每对中的第一个字符被视为小写; 第二个字符被视为大写。 仅可指定由 下 和 上 关键字定义的字符。 |
| tolower | 定义大写字符到小写字符的映射。 此关键字的操作数由分号分隔的字符对组成。 每个字符对都括在 () 中 (括号) ,用 a , (逗号) 与下一对分隔。 每个对中的第一个字符被视为大写; 第二个字符被视为小写。 仅可指定由 下 和 上 关键字定义的字符。 |
托下 关键字是可选的。 如果未指定此关键字,那么映射缺省为 图佩尔 关键字的反向映射 (如果已指定)。 如果 图佩尔 和 托下 关键字都未指定,那么每个关键字的映射缺省为 C 语言环境的映射。
LC_CTYPE 类别不支持多字符的元素。 例如,德语的尖字符传统上被归类为小写字母。 没有相应的大写字母; 在德语文本的适当大写中,尖锐的 s 字符被替换为两个字符 ss。 这类转换不在 图佩尔 和 托下 关键字的范围内。
示例
以下是语言环境定义源文件中列示的可能 LC_CTYPE 类别的示例:
LC_CTYPE
#"alpha" is by default "upper" and "lower"
#"alnum" is by default "alpha" and "digit"
#"print" is by default "alnum", "punct" and the space character
#"graph" is by default "alnum" and "punct"
#"tolower" is by default the reverse mapping of "toupper"
#
upper <A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;\
<N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>
#
lower <a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;\
<n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>
#
digit <zero>;<one>;<two>;<three>;<four>;<five>;<six>;\
<seven>;<eight>;<nine>
#
space <tab>;<newline>;<vertical-tab>;<form-feed>;\
<carriage-return>;<space>
#
cntrl <alert>;<backspace>;<tab>;<newline>;<vertical-tab>;/
<form-feed>;<carriage-return>;<NUL>;<SOH>;<STX>;/
<ETX>;<EOT>;<ENQ>;<ACK>;<SO>;<SI>;<DLE>;<DC1>;<DC2>;/
<DC3>;<DC4>;<NAK>;<SYN>;<ETB>;<CAN>;<EM>;<SUB>;/
<ESC>;<IS4>;<IS3>;<IS2>;<IS1>;<DEL>
#
punct <exclamation-mark>;<quotation-mark>;<number-sign>;\
<dollar-sign>;<percent-sign>;<ampersand>;<asterisk>;\
<apostrophe>;<left-parenthesis>;<right-parenthesis>;
<plus-sign>;<comma>;<hyphen>;<period>;<slash>;/
<colon>;<semicolon>;<less-than-sign>;<equals-sign>;\
<greater-than-sign>;<question-mark>;<commercial-at>;\
<left-square-bracket>;<backslash>;<circumflex>;\
<right-square-bracket>;<underline>;<grave-accent>;\
<left-curly-bracket>;<vertical-line>;<tilde>;\
<right-curly-bracket>
#
xdigit <zero>;<one>;<two>;<three>;<four>;<five>;<six>;\
<seven>;<eight>;<nine>;<A>;<B>;<C>;<D>;<E>;<F>;\
<a>;<b>;<c>;<d>;<e>;<f>
#
blank <space>;<tab>
#
toupper (<a>,<A>);(<b>,<B>);(<c>,<C>);(<d>,<D>);(<e>,<E>);\
(<f>,<F>);(<g>,<G>);(<h>,<H>);(<i>,<I>);(<j>,<J>);\
(<k>,<K>);(<l>,<L>);(<m>,<M>);(<n>,<N>);(<o>,<O>);\
(<p>,<P>);(<q>,<Q>);(<r>,<R>);(<s>,<S>);(<t>,<T>);\
(<u>,<U>);(<v>,<V>);(<w>,<W>);(<x>,<X>);(<y>,<Y>);\
(<z>,<Z>)
#
END LC_CTYPE文件
| 项 | 描述 |
|---|---|
| /usr/lib/nls/loc/* | 指定受支持语言环境的语言环境定义源文件。 |
| / usr/lib/nls/charmap/* | 指定受支持语言环境的字符集描述 (图表映射) 源文件。 |