ASN.1基本类型

  1. BOOLEAN类型
    是两个值的集合:TRUE,FALSE。如:
RoundResult ::= BOOLEAN
 ok RoundResult ::= TRUE
 ko RoundResult ::= FALSE

该类型的UNIVERSAL Tag值为1。

  1. NULL类型
    空类型,只有一个值NULL。作为一种结果,空类型是传输报告和响应的典型情况。如:
Ack ::= NULL

它经常在时间信息中使用,表示传送时间没有赋值如:

Clock ::= CHOICE
{
	time	UTCTime,
	out-of-order NULL
}

当时钟电池没有电时,值为:

battery-down Clock ::= out-of-order:NULL

NULL也可以用来表示链表结束的空接点,如:

LinkedList ::= SEQUENCE
{
	data Data,
	next CHOICE
	{
		linked-list	LinkedList,
		end	NULL
	}
}

该类型的UNIVERSAL Tag值为5。

  1. INTEGER类型
    整数可以是正数也可以是负数,取值范围在协议中没有界定。所以必须由编解码器提前确定好整数的范围,分配必要的内存空间来处理。可以通过描述中增加一个值声明来判断:
Interval ::= INTEGER(123456789..123456790)

在使用PER编解码规则时,会按照本地整数范围进行截断;相比之下BER编码规则中因为有明确的长度,所以不会出现截断的情况。
该类型的UNIVERSAL Tag值为2。

你可能感兴趣的:(ASN.1)