首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >约束ASN.1中类型序列的索引

约束ASN.1中类型序列的索引
EN

Stack Overflow用户
提问于 2019-09-19 21:21:20
回答 1查看 131关注 0票数 2

是否可以在ASN.1中为类型序列的可用指示器添加约束?大致是这样的

代码语言:javascript
运行
复制
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书中找到它,但我不能完全确定我是否正确地理解了语法描述。

我目前的理解是,可以对序列的大小创建约束,但预计不会对索引行为产生任何影响。我假设这是留给实现语言来定义的?

这是正确的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-20 03:52:48

在ASN.1中,没有“索引”的概念。您的上述作业均无效。

序列的元素数指定约束。例如,如果您编写

整数的A1 ::=序列(大小(10))

您正在将元素的数量限制为10。此SEQUENCE-OF类型的任何值都必须恰好包含10个元素。

如果你写

整数的A2 ::=序列(大小(1..10))

此SEQUENCE-OF类型的任何值都必须至少包含1个元素,最多包含10个元素。在这种情况下,元素的数量被限制在一定的大小范围内,而不是固定的大小。

您还可以编写更复杂的约束,如下所示:

A3 ::=序列(大小(1 |4| 6..MAX)),整数

在这种情况下,此SEQUENCE-OF类型的任何值都必须具有1、4或6个或更多元素。例如,值{2}和{-5,5,1,-3}是有效值,而{1,2}不是有效值。

不能在大小约束中使用负整数,因为使用的整数指定的是元素数,而不是索引值。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58012004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档