ASN.1 自动标签和可扩展性隐含属性
ASN.1 AUTOMATIC TAGS and EXTENSIBILITY IMPLIED Attributes
我收到了一份包含两个 encoding/decoding 属性的 ASN.1 文档;
- 自动标记
- 我的理解;标签是使用编码规则自动定义的,除非定义中存在标签符号
- 隐含的可扩展性
- 我的理解;类型可能包含未在 ASN.1 文档中定义的元素。如果找到,编码器应该默默地忽略。 此外,我的解码器也应该准备好处理带有未指定标签的值。
Q1:我上面的理解正确吗?
Q2: w.r.t 自动标记;自动定义似乎不可行(显然不是......)但我的理解是 someEncoder
因此会为 SomeType.class
分配标签(例如)0xBB
; someDecoder
如何知道如何将 0xBB
解码回 SomeType
?
Q2: w.r.t 未指定标签;再一次,我不确定如何将未指定的标签传递回其他东西。
Q1。如果存在 AUTOMATIC TAGS
子句,则
SEQUENCE
和 SET
类型以及 CHOICE
类型的所有替代项
模块中定义的从0开始按顺序自动标记。如果构造类型至少包含一个手动标记
(即如果它包含方括号),自动标记模式是
关闭此类型。
Q2。编写编码器和解码器代码时使用相同的自动标记算法。
Q3。当您的解码器与具有更新版本的 ASN.1 架构(包括附加组件)的对等方通信时,它可能会遇到无法识别的标签。在这种情况下(如果您不打算重新传输接收到的数据)您应该忽略无法识别的标签。
我收到了一份包含两个 encoding/decoding 属性的 ASN.1 文档;
- 自动标记
- 我的理解;标签是使用编码规则自动定义的,除非定义中存在标签符号
- 隐含的可扩展性
- 我的理解;类型可能包含未在 ASN.1 文档中定义的元素。如果找到,编码器应该默默地忽略。 此外,我的解码器也应该准备好处理带有未指定标签的值。
Q1:我上面的理解正确吗?
Q2: w.r.t 自动标记;自动定义似乎不可行(显然不是......)但我的理解是 someEncoder
因此会为 SomeType.class
分配标签(例如)0xBB
; someDecoder
如何知道如何将 0xBB
解码回 SomeType
?
Q2: w.r.t 未指定标签;再一次,我不确定如何将未指定的标签传递回其他东西。
Q1。如果存在 AUTOMATIC TAGS
子句,则
SEQUENCE
和 SET
类型以及 CHOICE
类型的所有替代项
模块中定义的从0开始按顺序自动标记。如果构造类型至少包含一个手动标记
(即如果它包含方括号),自动标记模式是
关闭此类型。
Q2。编写编码器和解码器代码时使用相同的自动标记算法。
Q3。当您的解码器与具有更新版本的 ASN.1 架构(包括附加组件)的对等方通信时,它可能会遇到无法识别的标签。在这种情况下(如果您不打算重新传输接收到的数据)您应该忽略无法识别的标签。