数据类型特性
ASN1数据类型 |
特性 |
是否支持 |
示例 |
|---|---|---|---|
INTEGER |
指定取值 |
支持 |
MyType ::= INTEGER(1|2|3|4) |
带命名指定取值 |
支持 |
MyType ::= INTEGER { a(0), b(1), c(2) } |
|
ENUMERATED |
指定值枚举 |
支持 |
MyType ::= ENUMERATED { a, b, c(3), d } |
扩展和指定值枚举混合使用 |
支持 |
MyType ::= ENUMERATED { a, b, ..., c(10) } |
|
REAL |
二进制编码 |
支持 |
RealBase2 ::= REAL (WITH COMPONENTS { ... , base(2)}) |
十进制编码 |
不支持 |
RealBase10 ::= REAL (WITH COMPONENTS { ... , base(10)}) |
|
特殊值:正无穷 |
支持 |
RealVal RealBase2 ::= PLUS-INFINITY |
|
特殊值:负无穷 |
支持 |
RealVal RealBase2 ::= MINUS-INFINITY |
|
特殊值:NAN |
支持 |
RealVal RealBase2 ::= NOT-A-NUMBER |
|
特殊值:负0 |
支持 |
RealVal RealBase2 ::= -0.0 |
|
三元组 |
不支持 |
RealVal RealBase2 ::= {314159, 10, -5} |
|
BIT STRING |
比特位指示方式定义类型 |
支持 |
Rights ::= BIT STRING { user-read(0), user-write(1), group-read(2), group-write(3), other-read(4), other-write(5) } |
BIT STRING |
比特位指示方式赋值 |
不支持 |
group Rights ::= { group-read, group-write } |
SEQUENCE |
可选字段 |
支持 |
MyType ::= SEQUENCE { a INTEGER OPTIONAL, b BOOLEAN } |
默认值 |
支持 |
MyType ::= SEQUENCE { a INTEGER DEFAULT 1, b BOOLEAN } 仅支持非组合类型 |
|
扩展域版本括号 |
支持 |
MyType ::= SEQUENCE { a BOOLEAN, ..., b BOOLEAN, [[c BOOLEAN]], [[d BOOLEAN]] } |
|
CHOICE |
扩展域版本括号 |
支持 |
MyType ::= CHOICE { a INTEGER, ..., [[b BOOLEAN]] } |
VisibleString |
允许字母表约束 |
不支持 |
MyType ::= VisibleString(FROM("a".."z" | "A".."Z" | "0".."9" |".-")) |