Назначение — описывать структуры данных, например:
WeatherReport ::=SEQUENCE
{
stationNumber INTEGER (1..99999),
timeOfReport UTCTime
temperature INTEGER (-100..60)
}
и способ их кодирования (например, в бинарный поток), чтобы разные стороны понимали друг друга. Нотация, на которой описана структура WeatherReport называется нотацией ASN.1, а самый распространенный способ кодирования называется BER.
Обычно у программиста нет выбора, применять ASN.1, или нет.
Если вам нужно взаимодействовать с чем-то по протоколу описанному на ASN.1 — вам придется использовать ASN.1. Если же ASN.1 не фигурирует в условии задачи явно, то он вам и не нужен. Лучше обойтись чем-то более распространенным и легковесным.
Применять ASN.1 для обработки оцифрованного сигнала вы можете с тем же успехом, с каким можете использовать ..., скажем, XML. Не могу сказать, что не можете, но ASN.1 вам ничем не поможет, и он как бы не для этого.
Перспективы — там где он уже применяется (телефонная и мобильная связь, например), он продолжит применяться и вряд ли куда-то денется. В то же время в телекоммуникациях есть тенденция переходить к обычным компьютерным протоколам вместо специфических телекомовских заморочек.
Например, операции, используемые коммуникационным оборудованием для отправки/доставки SMS, описаны на ASN.1. А вот отправка/загрузка MMS реализована поверх HTTP (HTTP POST/HTTP GET) и ASN.1 не используется.
Здравствуйте, black_claster, Вы писали:
_>Вот появился интерес к asn.1.