background image

2.第二个字节为字符串长度

3.第三和第四个字节为基址,基址可以为 UCS 码中第一个字节不为 0 的最小

值。

4.第四个字节以后为 82 格式的 UCS 码

如果第 8 位是 0(xxxx xxxx 0xxx xxxx),则此字符的 82 格式编码就用第 7

到 1 位表示(0000 0000 0xxx xxxx),第 8 位补 0;

如果第 8 位是 1(xxxx xxxx 1xxx xxxx),则此字符的 82 格式编码为 UCS 编

码减去基址,第 8 位补 1。

例:a 不乎了

编码后的字符为:0061 4e0d 4e4e 4e86

用 82 格式表示是:82 04 4e0d 61 80 c1 f9

下面我们以这个例子来看一下基址以及字符编码的获得:

选取 UCS 码第一个字节不为 0 的最小值,此处的四个字符第一个字节都不为

0,所以选择这四个字符的最小值作为基址,也就是 4e0d

然后用基址算出这 4 个字符的 82 编码:

0061 = 0000 0000 0110 0001,第 8 位为 0,所以它的 82 编码为 61

4e0d = 0100 1110 0000 1101,减去基址 4e0d 等于 0,最高位补 1 为

1000 0000,即 80

4e4e = 0100 1110 0100 1110,减去基址等于 41,最高位补 1 为 1100 

0001,即 c1

剩下的 4e86 以此类推。

82 格式和 81 有同样的限制,同样也只能表示 128 个字符,而且也要求连续。

那我们在什么情况下选择 80,81 还是 82 格式呢?1.如果可能的话,尽量选

择 81 格式,因为同样大小的字节用 81 格式可以表示最多的字符。如果有 14

个字节可以存储,那么使用 81 格式可以存储 11 个字符(3+N)。但是 81 格式

最多只能表示 128 个字符。

2.选择 82 格式,14 个字节可以存储 10 个字符(4+N),同样最多只能表示连

续的 128 个字符。

3.选择 80 格式,14 个字节可以存储 6 个字符(1+2N),但是 80 格式可以表

                     找软件资料,就到一览软件文库

http://wk.yl1001.com/rj/