中文(中国)
ASN.1 Tools for C
OSS®ASN.1 Tools for C是一个完整的开发工具包,用于使用ASN.1快速构建应用程序。 该产品具有功能强大的ASN.1:2015功能编译器,具有ASN.1 BER,CER,DER,PER,OER,XER,CXER和E-XER编码器/解码器引擎的运行时库, 并加快你的发展。 OSS ASN.1 Tools for C完全支持4G(LTE:RRC,S1和X2协议)。
编译器采用ASN.1规范作为输入,并生成C语言数据结构加上用于编码和解码的控制表。 OSS编译器提供广泛的诊断功能,以最大限度地减少开发时间和工作量。
一组运行库提供ASN.1编码和解码功能以及对应用消息操作的有价值的辅助功能。 OSS运行时库已移植到500+个平台,包括许多嵌入式平台。
支持JSON ER允许将ASN.1数据序列化为流行的JSON格式,并在JSON消息和ASN.1二进制消息之间进行转换。
支持OER允许使用ASN.1二进制消息,其可以比BER和PER消息明显更快地编码/解码,同时比PER消息略微紧凑。
支持E-XER允许生成XML与XML模式工具的输出兼容。
如果你需要高速编码/解码和尽可能小的内存占用,不要再看了。 简单地说,OSS ASN.1 Tools for C是您将找到的最优化的ASN.1工具。
ASN.1 Tools for C 的功能
•编码器和解码器的无与伦比的速度
•保证向后兼容性
•ASN.1 Studio,一个用于ASN.1规范编辑和消息分析的直观IDE
•大(1024位)INTEGER(用于加密应用程序)
•无限值大小
•反映ASN.1语义的类型表示(4字节UniversalStrings,时间类)
•可扩展类型的编码(未知扩展)
•通过自动解码的可选自定义提高性能
•自动解码任何种类的约束
•没有实施限制; 从不重写您的ASN.1以适应编码限制
•延迟任何单个字段或类型的解码
•文件和套接字支持
•级联PDU支持
•内容约束(完全支持)
•为每个PDU生成XML样式表或DTD
ASN.1 / C编译器
ASN.1编译器是一个独立的程序,它接受一个或多个输入文件,其中每个输入文件包含一个或多个ASN.1模块。 编译器验证规范是否有效,并生成:
•诊断消息和可选的输出ASN.1列表
•易于使用的C语言数据结构包含在应用程序中
•由空间优化或精益编码器/解码器使用的控制表
•时间优化的编码器/解码器。
(精益编码器解码器在单独的包中提供)
交叉编译由用于C的ASN.1工具支持。交叉编译使开发人员能够生成可在与编译器运行的操作系统不同的操作系统上使用的文件。 通过交叉编译能力最大化您的投资。 了解有关交叉编译的详细信息。
时间优化的编码器/解码器(TOED)具有与空间优化的编码器/解码器相同的程序调用接口,并且执行相同的功能(除了它不具有任何跟踪能力),但是其重点在于最小化CPU利用率。
OSS运行时库已移植到500多个平台,包括许多嵌入式平台。
更多功能
运行时功能,支持PDU复制,比较,打印等,使您的应用程序开发过程更容易。
解释ASN.1 API
在ASN.1 C工具中免费提供的解释性ASN.1 API(IAAPI)可以与常规ASN.1 / C编译器结合使用(当ASN.1模式在当时被编译时当开发应用程序时),或者使用OSS的编译和运行库(CAGL)(当模式在运行时动态编译时)。
IAAPI提供了获得关于编译的ASN.1模式的细节的信息的手段,包括它定义的类型(例如,具有多个组件的记录),类型的字段(例如,整数和字符串)以及与之相关联的约束(例如,小于10的整数)。这个信息允许开发人员编写解析消息内容的代码,当其结构在应用程序开发时是未知的时,这是特别有用的。同样,开发人员可以编写代码来创建字段,一个新的消息,只要它的格式遵守编译的模式。
IAAPI支持ASN.1 BER,CER,DER,PER,OER,XER,CXER和E-XER
标准符合性
这个强大的软件完全符合下面列出的ASN.1标准:
•ITU-T X.696(ISO / IEC 8825-7) – 八位字节编码规则(OER)基本协议
________________________________________
•ITU-T X.680(ISO / IEC 8824-1) – 抽象语法记法一(ASN.1):基本符号规范
________________________________________
•ITU-T X.681(ISO / IEC 8824-2) – 抽象语法记法一(ASN.1):信息对象规范
________________________________________
•ITU-T X.682(ISO / IEC 8824-3) – 抽象语法记法一(ASN.1):约束规范
________________________________________
•ITU-T X.683(ISO / IEC 8824-4) – 抽象语法符号一(ASN.1):ASN.1规范的参数化
________________________________________
•ITU-T X.690(ISO / IEC 8825-1) – ASN.1编码规则:基本编码规则(BER),规范编码规则(CER)和区分编码规则(DER)
________________________________________
•ITU-T X.691(ISO / IEC 8825-2) – ASN.1编码规则:压缩编码规则(PER)
________________________________________
•ITU-T X.692(ISO / IEC 8825-3) – ASN.1编码规则:编码控制符号(ECN)
________________________________________
•ITU-T X.693(ISO / IEC 8825-4) – ASN.1编码规则:XML编码规则(XER)规范。这包括规范XML编码规则(CXER)规范和扩展XML编码规则(E-XER)。
在运行时特定的ASN.1类型)。
TOED
时间优化的编码器/解码器(TOED)是部署的流行选择,因为它强调最小化CPU利用率。 我们有意地最小化跟踪能力,并使用代码驱动而不是表驱动设计来实现闪电速度。
LED(单独包装)
精简编码器/解码器(LED)经过优化,可提供比SOED更小的代码尺寸,而且具有更快的编码/解码性能。 它故意没有丰富的跟踪和诊断能力。 它通常是使用大型ASN.1规范的最佳选择,特别是当您的软件在具有显着内存限制的系统上运行时。
哪个ASN.1 / C运行时适合我?
根据其性能(表示为代码大小和编码速度)和诊断功能,使用下表选择最适合您需要的ASN.1 / C运行时。
所有ASN.1规范的编码/解码时间和可执行大小相对于最小值(1x)给出。 针对若干不同消息对编码/解码时间进行平均,并且基于消息的大小进行归一化。 对于这两个图,使用指数标度。 较小的条形反映更好的性能。
相同的通用编码/解码应用程序用于所有测量。 比较应用对象代码的大小,其是从C编译和链接由ASN.1编译器生成的源和控制表(如果适用)以及应用代码和对应的运行时库获得的。

