ASN.1 АВТОМАТИЧЕСКИЕ ТЕГИ И ПОДРАЗУМЕВАЕМЫЕ ВОЗМОЖНОСТИ Атрибуты

Мне представили документ ASN.1, который включает в себя два атрибута кодирования / декодирования;

  • АВТОМАТИЧЕСКИЕ ТЕГИ
    • Мое понимание; теги определяются автоматически с использованием правил кодирования, если в определении нет обозначения тега
  • РАСШИРЯЕМОСТЬ
    • Мое понимание; типы могут иметь элементы, которые не определены в документе ASN.1. Если найдено, кодировщик должен молча игнорировать. Кроме того, мой декодер также должен быть готов обрабатывать значения с неопределенными тегами.

Q1: правильное ли мое понимание выше?

Q2: без автоматических ярлыков; определение автоматически кажется невозможным (очевидно, нет...), но я понимаю, что someEncoder поэтому назначит SomeType.class с тегом (например) 0xBB; как someDecoder уметь декодировать 0xBB вернуться к SomeType?

Q2: по неуказанным тегам; еще раз, я не уверен, как передать неуказанный тег обратно к чему-то другому.

1 ответ

Решение

Q1. Если AUTOMATIC TAGS пункт присутствует, все компонентыSEQUENCE а также SET типы и все альтернативы CHOICE типы, определенные в модуле, автоматически помечаются последовательно, начиная с 0. Если составной тип содержит хотя бы ручной тег (т. е. если он содержит квадратные скобки), режим автоматического пометки для этого типа отключается.

Q2. Тот же алгоритм автоматической маркировки используется при написании кода кодера и декодера.

Q3. Ваш декодер может столкнуться с нераспознанными тегами, когда он взаимодействует с партнером, который имеет более новую версию вашей схемы ASN.1 (которая включает в себя дополнительные компоненты). В этом случае (если вы не собираетесь повторно передавать полученные данные) вы должны игнорировать нераспознанные теги.

Другие вопросы по тегам