(1)Type字段用于表示标签(Tag),各位表示如下。
・D8,D7:标签类型
Class D8 D7
Universal 0 0
Application 0 1
Context-specific 1 0
Private 1 1
・D6:数据类型标志
0表示基本数据类型,1表示结构数据类型。
・D5,D1或更多位:标签号码
号码小于31时,用D5到D1;
号码大于等于31时,用更多位表示,这时D5~D1全为1,标签号码由后面扩展字节表示,扩展字节的最高位(D8)均为1,只有最后一个字节的最高位(D8)为0,表示扩展字段结束,这些字节的剩余7位拼接起来就是标签号码值。以标签[PRIVATE
42]为例子。42的二进制表示是101010,多于五位,因此要用两个八位组编码。编码后的标签的二进制格式为11111111 00101010。
(2)Length字段表示内容字段(value)的长度
长度小于127时,Length字段占一个字节;长度大于127时,第1个字节的最高位(D8)为1,其余7位为Length字段本身的长度,后续字节为内容字段(value)的长度。长度不确定时,第1个字节的最高位(D8)为1,其余位全0,内容字段使用内容结束标志(2个全0字节)。
(3)内容字段(value)
如BOOLEAN类型的FALSE为0,TRUE为非0;INTEGER类型的只用补码表示。
|
|