ASN.1自动标记和可扩展性属性

时间:2015-07-15 18:26:49

标签: asn.1

我收到了一份包含两个编码/解码属性的ASN.1文档;

  • 自动标记
    • 我的理解;标记是使用编码规则自动定义的,除非定义中包含标记符号
  • 隐含的可扩展性
    • 我的理解;类型可能包含未在ASN.1文档中定义的元素。如果找到,编码器应该默默忽略。 此外,我的解码器也应准备好处理带有未指定标签的值。

Q1:我的理解是否正确?

Q2: w.r.t AUTOMATIC TAGS;自动定义似乎不可行(显然不是......)但我的理解是someEncoder因此会为SomeType.class分配标签(例如)0xBB; someDecoder如何知道如何将0xBB解码回SomeType

Q2: w.r.t未指定标签;再一次,我不确定如何将未指定的标签传回其他地方。

1 个答案:

答案 0 :(得分:4)

Q1。如果存在AUTOMATIC TAGS子句,则包含所有组件 SEQUENCESET类型以及CHOICE类型的所有替代方案 模块中定义的值从0开始按顺序自动标记。如果构造的类型至少包含手动标记 (即如果它包含方括号),自动标记模式是 关掉这种类型。

Q2。在编写编码器和解码器代码时使用相同的自动标记算法。

Q3。当您的解码器与具有较新版本的ASN.1架构(包括其他组件)的对等方进行通信时,可能会遇到无法识别的标记。在这种情况下(如果您不打算重新传输接收的数据),您应该忽略无法识别的标签。