3.第三个字节为基址,为一个 UCS 码的第 15 位到第 8 位(0xxx xxxx x000
000)
4.第四个字节以后为 81 格式的 UCS 码
如果第 8 位是 0(xxxx xxxx 0xxx xxxx),则此字符的 81 格式编码就用第 7
到 1 位表示(0000 0000 0xxx xxxx),第 8 位补 0;
如果第 8 位是 1(xxxx xxxx 1xxx xxxx),则此字符的 81 格式编码为 UCS 编
码减去基址左移 7 位,第 8 位补 1。
例:5
Жик
编码后的字符为:0035 0416 0438 043a
用 81 格式表示是:81 04 08 35 96 b8 ba
下面我们以这个例子来看一下基址以及字符编码的获得:
’
取得第一个字节不是 00’的字符编码:
0416 = 0000 0100 0001 0110
0438 = 0000 0100 0011 1000
043a = 0000 0100 0011 1010
所以基址为 0000 1000,也就是 08
然后用基址算出这 4 个字符的 81 编码:
0035 = 0000 0000 0011 0101,第 8 位为 0,所以它的 81 编码为 0011
0101,也就是 53
0416 = 0000 0100 0001 0110,基址左移 7 位为 0000 0100 0011 1010
= 0400,减去基址以后为 16,也就是 0001 0110,然后最高位补 1,为
1001 0110,即 96
后面的以此类推,为 b8,ba
从这里可以看出,81 格式只能在第 15 位到第 8 位相同的情况下才能进行。也
就是说编码的范围只由后 7 位决定,而且是连续的,也就是 2 的 7 次方,即
128 个字符。所以中文并不适合用 81 格式来编码,因为两个汉字之间的 UCS
编码很可能大于 128。
‘82’格式:
1.第一个字节为 0x82
找软件资料,就到一览软件文库
http://wk.yl1001.com/rj/