计算机是如何处理中文的(十)

本文介绍了locale的概念及其在系统中的作用,详细解释了12种locale分类属性,包括语言符号、数字格式、时间显示等,并说明了LC_ALL、LC_*及LANG环境变量之间的优先级关系。此外还介绍了使用locale命令来获取当前环境的locale信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3. 附录

3.1.       local的一些知识

locale把按照所涉及到的文化传统的各个方面分成12个大类,这12个大类分别是:

1、语言符号及其分类(LC_CTYPE)

2、数字(LC_NUMERIC)

3、比较和排序习惯(LC_COLLATE)

4、时间显示格式(LC_TIME)

5、货币单位(LC_MONETARY)

6、信息主要是提示信息,错误信息, 状态信息, 标题, 标签, 按钮和菜单等(LC_MESSAGES)

7、姓名书写方式(LC_NAME)

8、地址书写方式(LC_ADDRESS)

9、电话号码书写方式(LC_TELEPHONE)

10、度量衡表达方式(LC_MEASUREMENT)

11、默认纸张尺寸大小(LC_PAPER)

12、对locale自身包含信息的概述(LC_IDENTIFICATION) 

 

设定locale就是设定12大类的locale分类属性,即 12LC_*。除了这12个变量可以设定以外,为了简便起见,还有两个变量:LC_ALLLANG

它们之间有一个优先级的关系: LC_ALL>LC_*>LANG 可以这么说,LC_ALL是最上级设定或者强制设定,而LANG是默认设定值。

1)        如果你设定了LC_ALLzh_CN.UTF-8,那么不管LC_*LANG设定成什么值,它们都会被强制服从LC_ALL的设定,成为 zh_CN.UTF-8

2)        假如你设定了LANGzh_CN.UTF-8,而其他的LC_*=en_US.UTF-8,并且没有设定LC_ALL的话,那么系统的locale 设定以LC_*=en_US.UTF-8

3)        假如你设定了LANGzh_CN.UTF-8,而其他的LC_*,和LC_ALL均未设定的话,系统会将LC_*设定成默认值,也就是LANG的值 zh_CN.UTF-8

4)        假如你设定了LANGzh_CN.UTF-8,而其他的LC_CTYPE=en_US.UTF-8,其他的LC_*,和LC_ALL均未设定的话,那么系统的locale设定将是:LC_CTYPE=en_US.UTF-8,其余的 LC_COLLATELC_MESSAGES等等均会采用默认值,也就是LANG的值,也就是LC_COLLATELC_MESSAGES=……= LC_PAPERLANGzh_CN.UTF-8

 

3.2.       man locale

NAME

       locale - Get locale-specific information.

SYNOPSIS

       locale [ -a <A9><A6> -m]

       locale [ -ck ] name...

DESCRIPTION

       The locale program writes information about the current locale environment, or all locales, to standard output.

       When invoked without arguments, locale summarizes the current locale environment for each locale category

       defined by the LC_* environment variables.

       -a, --all-locales

               Write names of available locales.

       -m, --charmaps

               Write names of available charmaps.

       Output Format:

       -c, --category-name

               Write names of selected categories.

       -k, --keyword-name

               Write names and values of selected keywords.

ENVIRONMENT VARIABLES

       LC_CTYPE

               Character classification and case conversion.

       LC_COLLATE

               Collation order.

       LC_TIME

               Date and time formats.

       LC_NUMERIC

               Non-monetary numeric formats.

       LC_MONETARY

               Monetary formats.

       LC_MESSAGES

               Formats of informative and diagnostic messages and         interactive responses.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值