关于文字代码(character code)

为了理解计算机处理文字的编码/表示,首先需要分清楚三个概念(这些概念经常被混淆)。

1,character repertoire (字符列表)
这是指某个特定的可表示的字符集合。

例如:
the Japanese syllabaries and ideographs of JIS X 0208 (CS 01058) [fixed]
the Western European alphabets and symbols of Latin-1 (CS 00697) [fixed]
the POSIX portable character repertoire [fixed]
the IBM host Japanese repertoire (CS 01001) [fixed]
the Windows Western European repertoire [open]
the Unicode/10646 repertoire [open]

2, character code (字符代码)
把character repertoire中的每一个字符分别赋予一个非负的数字,建立一个字符与数字的一一对应关系。这些数字就是character code。

character code中的数字并不一定是连续的,事实上,有些数字可以被保留作为control function (控制代码)。

character code有很多别名:code position,code number, code value, code element, code point, code set value , code

例如:JIS X 0208, ISO 8859-1,ISO 8859-2, ISO 8859-n, UNICODE等等

3,character encoding (字符编码)
把一个字符串相对应的character codes转换成计算机中的一串字节流的method/algorithm(方法/算法)称为character encoding。

例如:JIS ENCODING, EUC ENCODING, ISO 8859-1,ISO 8859-2, ISO 8859-n, UTF-16, UTF-8等等

这三个概念是分开的,他们之间可以是一对多的关系。比如,同一个character repertoire可以有不同的character codes;同一个 character repertoire/character codes 可以采取不同的character encoding。不过,有些标准同时规定了character repertoire/character codes/character encoding,建立了一一对应的关系,比如ISO 8859,Windows CodePages 等等。

★ Windows CodePages跟ISO 8859并不完全相等,DOS CodePages (OEM CodePages)差别更大。
★ ISO 2022 和 ISO 4873 为 8bits/7bits codes 建立了一个encoding的通用框架(general framework),很多标准都遵从这个框架(当然,一般只是框架中的一个子集);但Windows CodePages并不遵从这个框架。
 
参考资料:
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值