2009-03-14

code space, code point, code page, unicode, utf, ucs的关系

在字符编码中,code space是指用于对字符进行编码的数字的范围. 例如unicode的code space就是0到10FFFF这个范围.

在code space中的每个数字就叫做code point.例如,ASCII包含128个code point(0~127),扩展的ASCII包含256个(0~255),unicode包含1,114,112个(0~10FFFF).

code page用于指明一个code point与字符之间的对应关系.不过,这是IBM的一个术语.现代的编码模型中,用的是coded character set这个概念.

unicode是一个标准,这个标准规定了要使用的字符,这个字符的属性(例如大小写),code point,code point与字符的对应关系等

utf实现了unicode.具体来说,就是它规定了code point在计算机(或其他使用unicode的地方)中如何表示.例如,'1'这个code point,在计算机中应该用一个字节表示成0001,还是用两个字节表示成0000 0001,等等. utf-8就是utf的一个版本.它是一个变长的编码.即有的code point用一个字节表示,有的又用两个字节表示;其中,最多可用四个字节表示一个code point. 在utf-16中,则有的code point都用两个字节表示,有的用四个字节表示;它也是一个变长的编码方法.utf-32则所以的code point都使用四个字节表示.(可见,utf-x的x表示的是用来表示code point所用的位数).code point在计算机中的表示就叫做code value

ucs和unicode一样是一个标准,它们规定了相同的字符,这些字符也对应相同的code point,不过unicode规定了更多东西.它们详细的区别请看这里.

ucs-2是utf-16的前身,它是一个定长的编码,所以由它编码的字符也没有utf-16的多.详细的区别请看这里
ucs-4则和utf-32是同一个东西
ucs-x的x表示的是用于表示code point所用的字节数.




转载请注明出处 http://fornote.blogspot.com

没有评论:

发表评论