【发布时间】:2013-09-17 13:57:04
【问题描述】:
ASN.1 允许您声明“子类型”,这基本上对常规类型施加了额外的约束。
因此,常规类型是:
IntType ::= INTEGER
但是你可以通过创建一个只允许特定范围内的值的“子类型”来限制类型,例如:
IntType ::= INTEGER (1..100)
这将IntType 声明为必须介于1 和100 之间的INTEGER。
我的问题是,一旦声明了子类型,ASN.1 如何处理对子类型的进一步约束?假设我也说:
AnotherIntType ::= IntType (1..50)
这有效吗?我现在创建了第二个子类型,它进一步约束IntType。但是如果约束相互矛盾怎么办,如下所示:
AnotherIntType ::= IntType (1..200)
有解决这些矛盾的具体规则吗?
【问题讨论】:
标签: asn.1