Arrays 约束ASN.1中类型序列的索引
在ASN.1中,是否可以为类型序列的可用索引添加约束? 类似这样的东西Arrays 约束ASN.1中类型序列的索引,arrays,constraints,asn.1,Arrays,Constraints,Asn.1,在ASN.1中,是否可以为类型序列的可用索引添加约束? 类似这样的东西 MyArray ::= SEQUENCE (1..10) OF INTEGER -- MyArray has 10 elments indexed from 1-10 Array2 ::= SEQUENCE (-5..5) OF INTEGER -- Array2 has 11 elments indexed from -5-5 我试图从Dubuisson的ASN.1书中找到它,但我不能完全确定我是否正确理解了语法描述
MyArray ::= SEQUENCE (1..10) OF INTEGER -- MyArray has 10 elments indexed from 1-10
Array2 ::= SEQUENCE (-5..5) OF INTEGER -- Array2 has 11 elments indexed from -5-5
我试图从Dubuisson的ASN.1书中找到它,但我不能完全确定我是否正确理解了语法描述
我目前的理解是,可以对序列的大小创建约束,但不会对索引行为产生任何影响。我假设这由实现语言来定义
这是正确的吗?在ASN.1中,对于一系列的数据,没有“索引”的概念。你上面的作业都是无效的 可以指定一系列元素的元素数约束。例如,如果你写 A1::=整数的序列(大小(10)) 您将元素数限制为10。此序列类型的任何值必须正好有10个元素 如果你写信 A2::=整数的序列(大小(1..10)) 此序列类型的任何值都必须至少包含1个元素,最多包含10个元素。在这种情况下,元素的数量限制在一定的大小范围内,而不是固定大小 还可以编写更复杂的约束,如以下所示: A3::=整数的序列(大小(1 | 4 | 6..MAX)) 在这种情况下,此SEQUENCE-of类型的任何值都必须有1、4或6个或更多元素。例如,值{2}和{-5,5,1,-3}是有效值,而{1,2}不是
不能在大小约束中使用负整数,因为使用的整数指定的是元素数,而不是索引值。是的,这是正确的。感谢您的澄清。我希望我错过了什么,因为语法描述不容易读(至少对我来说)。