技术 > 抽象语法标记
目录
No. 1
  抽象语法标记
  (asn.1:abstract syntax notation one)
  抽象语法标记(asn.1)是一种 iso/itu-t 标准,描述了一种对数据进行表示、编码、传输和解码的数据格式。它提供了一整套正规的格式用于描述对象的结构,而不管语言上如何执行及这些数据的具体指代,也不用去管到底是什么样的应用程序 — 不论是非常复杂的,还是非常简单的。
  在任何需要以数字方式发送信息的地方,asn.1 都可以发送各种形式的信息(声频、视频、数据等等)。asn.1 和特定的 asn.1 编码规则推进了结构化数据的传输,尤其是网络中应用程序之间的结构化数据传输,它以一种独立于计算机架构和语言的方式来描述数据结构。
  iso 协议套中的应用层协议使用了 asn.1 来描述它们所传输的 pdu,这些协议包括:用于传输电子邮件的 x.400、用于目录服务的 x.500、用于 voip 的 h.323 和 snmp。它的应用还可以扩展到通用移动通信系统(umts)中的接入和非接入层。
  asn.1 取得成功的一个主要原因是它与几个标准化编码规则相关,如基本编码规则(ber) -x.209 、规范编码规则(cer)、识别名编码规则(der)、压缩编码规则(per)和 xer 编码规则(xer)。这些编码规则描述了如何对 asn.1 中定义的数值进行编码,以便用于传输,而不管计算机、编程语言或它在应用程序中如何表示等因素。asn.1 的编码方法比许多与之相竞争的标记系统更先进,它支持可扩展信息快速可靠的传输 — 在无线宽带中,这是一种优势。1984年,asn.1 就已经成为了一种国际标准,它的编码规则已经成熟并在可靠性和兼容性方面拥有更丰富的历程。
  简洁的二进制编码规则(ber、cer、der、per,但不包括 xer)可当作更现代 xml 的替代。然而,asn.1 支持对数据的语义进行描述,所以它是比 xml 更为高级的语言。
  asn.1 的描述可以容易地映被射成 c 或 c++ 或 java 的数据结构,并可以被应用程序代码使用,并得到运行时程序库的支持,进而能够对编码和解码 xml 或 tlv 格式的,或一种非常紧凑的压缩编码格式的描述。
  协议结构
  asn.1 提供了一些基本的预定义数据类型:
  universal 0 保留给编码规则使用
  universal 1 布尔类型
  universal 2 整型
  universal 3 二进制字符串类型
  universal 4 八进制字符串类型
  universal 5 空类型
  universal 6 对象标识符类型
  universal 7 对象描述符类型
  universal 8 外部类型和类型实例
  universal 9 实数类型
  universal 10 枚举类型
  universal 11 嵌入的 pdv 类型
  universal 12 utf8 字符串类型
  universal 13 相关对象标识符 类型
  universal 14-15 保留给本建议的以后版本和国际标准使用
  universal 16 序列和类型序列
  universal 17 集合和类型的集合
  universal 18-22, 25-30 字符串 类型
  universal 23-24 时间 类型
  universal 31-... 保留给本建议以外的类型和国际标准使用
  asn.1 还能够定义如下的数据结构类型:
  结构 ( sequence ),
  列表 ( sequence of ),
  类型选择 ( choice ),
No. 2
  抽象语法标记
  (ASN.1:Abstract Syntax Notation One)
  抽象语法标记(ASN.1)是一种 ISO/ITU-T 标准,描述了一种对数据进行表示、编码、传输和解码的数据格式。它提供了一整套正规的格式用于描述对象的结构,而不管语言上如何执行及这些数据的具体指代,也不用去管到底是什么样的应用程序 — 不论是非常复杂的,还是非常简单的。
  在任何需要以数字方式发送信息的地方,ASN.1 都可以发送各种形式的信息(声频、视频、数据等等)。ASN.1 和特定的 ASN.1 编码规则推进了结构化数据的传输,尤其是网络中应用程序之间的结构化数据传输,它以一种独立于计算机架构和语言的方式来描述数据结构。
  ISO 协议套中的应用层协议使用了 ASN.1 来描述它们所传输的 PDU,这些协议包括:用于传输电子邮件的 X.400、用于目录服务的 X.500、用于 VoIP 的 H.323 和 SNMP。它的应用还可以扩展到通用移动通信系统(UMTS)中的接入和非接入层。
  ASN.1 取得成功的一个主要原因是它与几个标准化编码规则相关,如基本编码规则(BER) -X.209 、规范编码规则(CER)、识别名编码规则(DER)、压缩编码规则(PER)和 XER 编码规则(XER)。这些编码规则描述了如何对 ASN.1 中定义的数值进行编码,以便用于传输,而不管计算机、编程语言或它在应用程序中如何表示等因素。ASN.1 的编码方法比许多与之相竞争的标记系统更先进,它支持可扩展信息快速可靠的传输 — 在无线宽带中,这是一种优势。1984年,ASN.1 就已经成为了一种国际标准,它的编码规则已经成熟并在可靠性和兼容性方面拥有更丰富的历程。
  简洁的二进制编码规则(BER、CER、DER、PER,但不包括 XER)可当作更现代 XML 的替代。然而,ASN.1 支持对数据的语义进行描述,所以它是比 XML 更为高级的语言。
  ASN.1 的描述可以容易地映被射成 C 或 C++ 或 Java 的数据结构,并可以被应用程序代码使用,并得到运行时程序库的支持,进而能够对编码和解码 XML 或 TLV 格式的,或一种非常紧凑的压缩编码格式的描述。
  协议结构
  ASN.1 提供了一些基本的预定义数据类型:
  UNIVERSAL 0 保留给编码规则使用
  UNIVERSAL 1 布尔类型
  UNIVERSAL 2 整型
  UNIVERSAL 3 二进制字符串类型
  UNIVERSAL 4 八进制字符串类型
  UNIVERSAL 5 空类型
  UNIVERSAL 6 对象标识符类型
  UNIVERSAL 7 对象描述符类型
  UNIVERSAL 8 外部类型和类型实例
  UNIVERSAL 9 实数类型
  UNIVERSAL 10 枚举类型
  UNIVERSAL 11 嵌入的 pdv 类型
  UNIVERSAL 12 UTF8 字符串类型
  UNIVERSAL 13 相关对象标识符 类型
  UNIVERSAL 14-15 保留给本建议的以后版本和国际标准使用
  UNIVERSAL 16 序列和类型序列
  UNIVERSAL 17 集合和类型的集合
  UNIVERSAL 18-22, 25-30 字符串 类型
  UNIVERSAL 23-24 时间 类型
  UNIVERSAL 31-... 保留给本建议以外的类型和国际标准使用
  ASN.1 还能够定义如下的数据结构类型:
  结构 ( SEQUENCE ),
  列表 ( SEQUENCE OF ),
  类型选择 ( CHOICE ),