开发者
资源
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

数据类型特性

表1 KSL_ASN1支持的数据类型特性

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" |".-"))