16、字符编码与本地化设置详解

字符编码与本地化设置详解

1. 字符编码

1.1 POSIX 字符集与其他字符集

POSIX 字符集包含 256 个单字节字符,涵盖了特定表格中的字符,这些字符具有特定属性。未在表格中列出的字符是否归类为标点或控制字符未作明确规定。其他字符集包含特定表格中的字符,可能包含部分或全部控制字符,额外字符的存在、含义和表示取决于具体的本地化设置。

1.2 状态相关编码类型

在非 POSIX 字符集中,字符可能有状态相关的编码,主要有两种类型:
- 单移编码 :不在初始移位状态的每个字符前有一个移位码,若每个移位码和字符序列被视为多字节字符,可使用特定格式定义。若实现支持这种编码,所有标准实用工具都应支持。在未明确提及状态相关编码影响的函数中使用单移编码,其行为由实现定义。
- 锁定移位编码 :字符状态由移位码决定,可能影响后续多个字符。当前字符集描述文件格式无法定义这种编码。在未明确提及状态相关编码影响的标准实用工具或函数中使用锁定移位编码,其行为由实现定义。

1.3 字符解释规则

在初始移位状态下,可移植字符集中的所有字符保留其常规解释,且不改变移位状态。序列中后续字节的解释取决于当前移位状态。全为零的字节被解释为空字符,与移位状态无关,且不会作为其他字符的一部分出现。同样,用于编码特定字符(如句号、斜杠、换行符和回车符)的字节值不会作为任何其他字符的一部分出现。

1.4 字符最大字节数

当前本地化设置中字符允许的最大字节数由 <stdlib.h>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值