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

    文章

    1129

    浏览量

    40671
  • JAVA
    +关注

    关注

    19

    文章

    2957

    浏览量

    104534
  • 编码
    +关注

    关注

    6

    文章

    935

    浏览量

    54759

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

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

收藏 人收藏

    评论

    相关推荐

    深度评测:云计算平台的优势和不足

    云计算平台具有成本效益、灵活性和扩展性、简化维护和升级、全球访问性以及灾难恢复等优势,但也面临安全性问题、依赖性问题、合规性和隐私问题、性能限制以及迁移复杂性等挑战。企业在采用云计算之前需要仔细权衡这些优势和不足,并根据自身实
    的头像 发表于 11-22 10:48 41次阅读

    公有云存储和私有云存储哪个好一些?

    公有云存储和私有云存储各有优劣,选择取决于业务需求。公有云存储成本效益高、扩展性强、维护管理便捷,适合需求波动大的场景;而私有云存储提供数据控制、高安全性和定制化能力,适合对数据安全和合规性要求高的企业。企业应根据自身需求
    的头像 发表于 11-19 10:53 89次阅读

    Perforce Helix Core通过ISO 26262认证!为汽车软件开发团队提供无限扩展性、细粒度安全性、文件快速访问等

    News!Helix Core通过ISO 26262认证,符合汽车系统开发所需的安全和可靠性标准,助力汽车软件安全合规!具备无限扩展性、细粒度安全性、文件快速访问...是众多汽车OEM和供应商的首选版本控制工具。
    的头像 发表于 11-12 14:41 742次阅读
    Perforce Helix Core通过ISO 26262认证!为汽车软件开发团队提供无限<b class='flag-5'>可</b><b class='flag-5'>扩展性</b>、细粒度安全性、文件快速访问等

    RN3001A011EA1A3A堵煤控制器采用有线电缆的原因

    堵煤控制器采用有线电缆的原因主要包括稳定性、可靠性、实时性、安全性、易于维护和检修以及兼容性和扩展性等方面。这些优势使得有线电缆成为堵煤控制器传输信号的首选方式。
    的头像 发表于 09-23 14:59 182次阅读

    使用低成本MSPM0 MCU在无线电动工具和园艺工具中实现扩展性

    电子发烧友网站提供《使用低成本MSPM0 MCU在无线电动工具和园艺工具中实现扩展性.pdf》资料免费下载
    发表于 09-02 11:47 0次下载
    使用低成本MSPM0 MCU在无线电动工具和园艺工具中实现<b class='flag-5'>可</b><b class='flag-5'>扩展性</b>

    国产NVMe SSD扩展卡:驱动存储新纪元

    NVMe技术的标准化接口使得不同厂商的设备能够更好地兼容和互操作,提升了存储系统的灵活性和扩展性
    的头像 发表于 08-17 14:59 1418次阅读
    国产NVMe SSD<b class='flag-5'>扩展</b>卡:驱动存储新纪元

    有源光网络的优势哪些

    应用日益增长的需求。 低延迟:使用光纤技术和有源元件可将AON网络内的信号延迟降至最低。这种低延迟对于在线游戏、视频会议和金融交易等实时应用至关重要,因为即使是轻微的延迟也可能造成严重后果。 扩展性:有源光网络具有高度
    的头像 发表于 06-14 10:50 348次阅读

    选择合适的PLC工业网关需要考虑的因素

    工业网关时应考虑的几个重要因素: 兼容性和扩展性:确保所选网关与现有的工业设备和控制系统兼容,并能够支持未来的扩展和升级。这包括与各种通信协议、接口和硬件的兼容性。例如,如果您的系统使用Modbus协议,那么您需要
    的头像 发表于 06-11 18:05 593次阅读

    如何挑选智能物联网平台?了解这五大关键要素,助力企业智能化

    :平台扩展性 选择智能物联网平台时,首先要考虑其扩展性。毕竟,随着企业的发展,业务需求会不断增加,相应的物联网平台也需要支持更多的功能和
    的头像 发表于 03-08 15:39 428次阅读

    电涌的主要原因是什么?功率电阻器如何帮助防止电涌?

    电涌的主要原因是什么?什么时候需要电涌保护器?常见的浪涌抑制技术哪些?功率电阻器如何帮助防止电涌?如何选择合适的浪涌抑制电阻器?浪涌抑制电阻器哪些行业应用? 电涌的主要
    的头像 发表于 02-02 16:24 811次阅读

    LPC3250FET296/01控制器重新启动/重置的潜在原因是什么?

    我们使用恩智浦的以下微控制器(LPC3250FET296/01)已经一段时间了。我们目前在70°C的热测试中出现故障,有时在环境温度下也会失败。有人对为什么控制器会在特定温度下自行重启任何建议吗?控制器重新启动/重置的潜在
    发表于 01-31 06:10

    如何选择合适的集中电源控制器?

    控制、遥控控制、手动控制等。 稳定性:选择性能稳定、可靠性高的集中电源控制器,以确保设备的长期稳定运行。 扩展性:考虑集中电源控制器的扩展性,以便在未来增加更多设备或系统时仍能方便地使用该控制器。 成本:在满足
    的头像 发表于 01-30 15:25 536次阅读
    如何<b class='flag-5'>选择</b>合适的集中电源控制器?

    分布式大屏控制系统的扩展性设计

    分布式大屏控制系统的扩展性设计是确保系统能够适应不断增长的需求和未来发展的关键因素。以下是扩展性设计的几个方面: 模块化设计:将系统划分为多个模块,每个模块具有独立的功能和接口。这
    的头像 发表于 01-29 14:46 534次阅读

    选择好的云主机需了解哪些关键因素?

    选择适当的配置。 2、扩展性:考虑您的应用是否需要具备弹性扩展的能力,以应对流量波动和增长。云主机应该支持快速垂直或水平
    的头像 发表于 01-18 17:34 336次阅读

    常见的齿轮失效哪些形式?失效的原因是什么?如何解决?

    常见的齿轮失效哪些形式?失效的原因是什么?可采用哪些措施来减缓失效的发生? 齿轮是机械传动中常用的一种传动方式,它能够将动力从一个轴传递到另一个轴上。然而,在长时间使用过程中,齿轮也会出现各种失效
    的头像 发表于 12-20 11:37 4100次阅读