此ASN.1架构的值表示法

时间:2014-11-05 14:56:18

标签: asn.1

使用ASN.1进行了一些斗争,谷歌搜索了一下寻找答案但我发现的所有内容都与"模板有关#34;事物的一面,而不是价值观。我有以下ASN.1架构。

FooProtocol DEFINITIONS ::= BEGIN

    FooQuestion ::= SEQUENCE {
        rows INTEGER,
        cols INTEGER,
        lines GameLines
    }

GameLines ::= SEQUENCE (SIZE (1..100)) OF Item

Item ::= SEQUENCE {
line           UTF8String

}
END

我尝试编写以下值以通过架构:

myQuestion FooQuestion ::= 
{
    rows 5,
    cols 4,
    lines {"test"} // <- Wrong
}

我如何填充作为一系列项目的GameLines? 这有什么好的资源吗?谢谢!

1 个答案:

答案 0 :(得分:1)

特定情况下的语法应为:

myQuestion FooQuestion ::= 
{
    rows 5,
    cols 4,
    lines {{line "test1"}, {line "test2"}}
}

SEQUENCE OF的语法是:用逗号分隔每个项目的值表示法,并将所有内容放在大括号之间。

另一方面,最好使用自动标签,因此您必须更改模块标头,如下所示: FooProtocol DEFINITIONS AUTOMATIC TAGS ::= BEGIN