0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

选择ASN.1 的原因是什么?使用可扩展性是否有任何权衡?

工程师邓生 来源:哲想软件 作者:哲想软件 2022-08-20 11:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1、选择ASN.1 的原因是什么?

选择ASN.1 的一些原因是:

ASN.1 允许实现者选择最适合他们的任何编程语言,并在该语言中选择最适合其应用程序的数据类型的绑定。例如,如果 ASN.1将类型定义为项目的集合,您可以自由地将其表示为链表、数组等,这取决于最适合您的语言/应用程序的方式。

ASN.1允许您以这样一种方式定义消息,即如果将来向消息中添加新字段,您不理解新字段的旧应用程序将继续与理解新字段的新应用程序一起正常工作。这样您就不必同时将所有实现切换到消息的新版本。对于此类消息,较旧的实现意识到他们应该期望并忽略消息中的新字段。

ASN.1 允许您对消息中的字段施加约束。例如,您可以指示整数类型应该只携带值1、2、7-10,或者字符串的长度应该在20-30 个字节之间。

ASN.1 允许您表达消息字段之间的关系。例如,您可以指示如果给定字段包含 7,则必须存在另一个字段。

ASN.1 允许您定义OPTIONAL 字段,如果没有数据,则传输很少或不传输数据。

ASN.1 允许消息规范的作者(例如,标准编写者)以清晰简洁的方式向实现者明确指出消息中字段的性质。

ASN.1 让协议设计人员能够自由地描述消息的布局,而无需深入研究在两台机器之间传输的数据的位和字节细节,从而提高了生产力。

通过使用正式的、可编译的符号ASN.1 定义消息,可以通过使用将使用ASN.1 描述的消息转换为C、C++Java等语言的工具以及编码器/解码器来提高生产力,以最小化或无需弄清楚如何序列化数据以进行传输。

2、使用可扩展性是否有任何权衡?

如果您希望中继接收到的值(即,如果您希望解码器将意外值返回给您,而不是被解码器忽略),则使用可扩展性将导致生成稍微复杂的头文件。在大多数情况下,它足以满足“旧”版本忽略从“新”版本收到的扩展值,因为它通常不知道如何处理它们。

就您的应用程序代码而言,通常它不会导致更大或更复杂的代码。

如果您使用PER,如果您使用类型可扩展性,则编码会稍大一些。类型可扩展性对 BER 编码的大小没有影响。

除非您提前知道永远不需要扩展给定类型,否则您应该将其定义为可扩展的。

3、标记会影响PER 中的编码数据吗?

一般来说,无论标签是什么,编码数据看起来都是一样的。

唯一的例外是选择类型的编码。在 PER 中,选择类型的每个备选方案都由索引标识。这些索引以取决于每个备选方案的标签的顺序分配给备选方案。当使用自动标记时,索引确实对应于备选方案的定义顺序。

4、PER中的开放类型值是如何编码的?

在PER中开放类型的编码与无约束的OCTETSTRING类型的值相同。这意味着长度可以是一个或两个字节,或者如果长度是>16K字节,则编码会被分割开来,等等。



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 解码器
    +关注

    关注

    9

    文章

    1203

    浏览量

    42874
  • JAVA
    +关注

    关注

    20

    文章

    2997

    浏览量

    115693
  • 编码
    +关注

    关注

    6

    文章

    1016

    浏览量

    56658

原文标题:​OSS Nokalva:ASN.1问答时间(1)

文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ucos与freertos哪个好?

    ,FreeRTOS是一个不错的选择。 如果项目需要更高级的特性和组件,或者愿意为使用RTOS支付费用以获得更丰富的功能和更强大的扩展性,uCOS可能更适合。 最终的选择应基于项目的具
    发表于 12-05 07:13

    如何评估电能质量在线监测装置的扩展性

    评估电能质量在线监测装置的扩展性,需围绕 “ 硬件扩展、软件升级、协议兼容、场景适配 ”
    的头像 发表于 10-22 16:35 386次阅读

    电能质量在线监测装置的兼容性和扩展性对其性能有何影响?

    电能质量在线监测装置的兼容性和扩展性,是决定其 “能否融入现有系统、适应未来变化” 的核心属性,直接影响装置的 数据互通性、功能适配性、生命周期价值 ,进而间接作用于谐波源识别准确率、定位精度等核心
    的头像 发表于 10-22 16:25 323次阅读

    NetApp助力对象存储现代化,提升速度、扩展性和安全性

    智能数据基础设施公司NetApp® (NASDAQ: NTAP) 今天宣布推出NetApp StorageGRID® 12.0,这是一款扩展的软件定义对象存储解决方案,专为非结构化数据而设
    的头像 发表于 09-11 10:41 328次阅读

    市场上的工控机改如何选择?接口与扩展性需求分析

    在边缘计算时代,工控机的选择需紧密围绕实时性、可靠性、环境适应性三大工业核心需求,同时兼顾算力、接口与扩展性的平衡。以下是关键考量因素及选型策略: 一、算力需求分析:从场景出发分层选型 传感器数据
    的头像 发表于 08-06 16:52 561次阅读
    市场上的工控机改如何<b class='flag-5'>选择</b>?接口与<b class='flag-5'>扩展性</b>需求分析

    何时选择光纤电缆:场景与选择指南

    )、安装环境(室内 vs. 室外)以及用户密度(标准 vs. 高密度)。了解这些条件后,您可以平衡性能、扩展性和成本,从而做出最佳的长期布线决策。 新建 vs. 改造:何时部署光纤布线 对于新网络部署而言,光纤是面向未来的选择
    的头像 发表于 07-30 10:53 291次阅读

    电流功率检测USB3.0HUB,USB3.0扩展坞,扩展的USB2.0

    程控通道独立模拟开关,1.4A电流输出1.5A过流保护); USB2.0高扩展性自定义USB2.0扩展内容(USB2.0可在USB A、排针间切换,自定义设计USB2.0
    发表于 06-28 00:23

    瑞萨电子RA系列微控制器的扩展性强的配置软件包 (FSP)安装下载与使用指南

    瑞萨电子RA系列微控制器的扩展性强的配置软件包 (FSP)安装下载与使用指南
    的头像 发表于 06-11 17:21 1392次阅读

    聚徽分享高性能工控机选购指南:稳定性、扩展性、抗干扰能力如何平衡?

    协调的重任。而在选购高性能工控机时,稳定性、扩展性与抗干扰能力成为了至关重要的考量因素,如何在这三者之间找到完美的平衡,成为了众多企业面临的关键难题。 稳定性:工业运行的基石 1. 硬件质量与可靠性 工业级元器件的
    的头像 发表于 05-29 15:35 432次阅读

    飞凌嵌入式ElfBoard ELF 1板卡-Regmap的优势

    的读写操作,没有提供寄存器缓存功能。 四、扩展性:Regmap 提供了一个模块化的框架,可以轻松扩展支持更多的通信接口和寄存器映射类型。这使得驱动程序可以适用于不同类型的设备和平台,提高了代码的
    发表于 05-22 10:39

    云服务器和独立服务器的区别在哪?一文读懂如何选择

    面对云服务器与独立服务器的选择,许多人常因概念模糊而纠结。云服务器和独立服务器的区别在于资源分配方式、扩展性及成本结构,选择时需结合业务需求权衡利弊。本文将从两者核心差异进行对比,为大
    的头像 发表于 05-19 10:19 448次阅读

    瑞芯微RK3288解决方案:高性能、高扩展性的嵌入式系统设计理念与应用分析

    。本文将深入剖析基于RK3288的处理方案,重点阐述其在硬件架构、软件平台、扩展性设计以及应用场景等方面的优势,并探讨其所蕴含的嵌入式系统设计理念。一、RK328
    的头像 发表于 05-08 15:39 857次阅读
    瑞芯微RK3288解决方案:高性能、高<b class='flag-5'>扩展性</b>的嵌入式系统设计理念与应用分析

    IAR推动嵌入式开发:云就绪、扩展的CI/CD和持续自动化

    IAR正式发布全新云就绪平台,为嵌入式开发团队提供企业级的扩展性、安全性和自动化能力。
    的头像 发表于 04-07 11:21 487次阅读

    Codima产品概览:构建扩展产品的核心架构

    信息。Toolbox 帮助用户使用可靠的设备数据轻松做出明智的决策。执行 Discovery 后,Toolbox 的所有方面都可以立即使用。 可大规模扩展 扩展性是 Codima
    的头像 发表于 02-13 09:19 432次阅读
    Codima产品概览:构建<b class='flag-5'>可</b><b class='flag-5'>扩展</b>产品的核心架构

    扩展您的Chart FX应用程序:标准化升级适应更多领域

    扩展性基础设施标准化升级后,将会带来更好的集成体验和更轻松的Chart FX扩展部署。这些Chart FX扩展是.NET程序集,允许Chart FX快速有效地适应实时、金融、统计、地图和OLAP等
    的头像 发表于 12-31 09:42 652次阅读
    <b class='flag-5'>扩展</b>您的Chart FX应用程序:标准化升级适应更多领域