在ASN.1,它是有效的寫ASN.1規範
(SIZE(10))
這是相當於(SIZE(10..10))
,(SIZE(0..10))
或(SIZE(1..10))
?或者是其他東西?標準中規定了哪些內容?
似乎所有解析器都將其解釋爲(SIZE(10..10))
。但是,我無法爲此找到任何規格。
在ASN.1,它是有效的寫ASN.1規範
(SIZE(10))
這是相當於(SIZE(10..10))
,(SIZE(0..10))
或(SIZE(1..10))
?或者是其他東西?標準中規定了哪些內容?
似乎所有解析器都將其解釋爲(SIZE(10..10))
。但是,我無法爲此找到任何規格。
簡而言之:SIZE(10)
約束該類型的大小爲10(並且只有10)。
與所述標準參考文獻詳細說明:
尺寸約束在X.680的部分47.5
特別
SizeConstraint ::= SIZE Constraint
Constraint
在第45.6定義定義:
Constraint ::= "(" ConstraintSpec ExceptionSpec ")"
ConstraintSpec ::=
SubtypeConstraint
| GeneralConstraint
GeneralConstraint在X.682定義(代表更復雜的約束),而SubtypeConstraint在45.7
SubtypeConstraint ::= ElementSetSpecs
在46.1(這裏變得艱難定義......我會盡量擴大唯一的路徑,我們需要)
ElementSetSpecs ::=
RootElementSetSpec
| RootElementSetSpec "," "..."
| RootElementSetSpec "," "..." "," AdditionalElementSetSpec
RootElementSetSpec ::= ElementSetSpec
ElementSetSpec ::= Unions
| ALL Exclusions
Unions ::= Intersections
| UElems UnionMark Intersections
Intersections ::= IntersectionElements
| IElems IntersectionMark IntersectionElements
IntersectionElements ::= Elements | Elems Exclusions
在46.5
Elements ::=
SubtypeElements
| ObjectSetElements
| "(" ElementSetSpec ")"
在47.1
SubtypeElements ::=
SingleValue
| ContainedSubtype
| ValueRange
| PermittedAlphabet
| SizeConstraint
| TypeConstraint
| InnerTypeConstraints
| PatternConstraint
單值在47.2.1
SingleValue ::= Value
值範圍定義在47.4.1
ValueRange ::= LowerEndpoint ".." UpperEndpoint
所以定義...我們限制的大小一個類型(INTEGER類型的約束),定義一個有效值的集合(ElementSetSpecs
)。該集合使用包含可選聯合和可選交集Elements
的表達式語言指定。 Elements
可以是幾件事情(取決於目標類型),其包括任一SingleValue
(表示單個值)或ValueRange
(指示關閉或打開範圍)
正是我需要的。感謝您的詳細解答! –