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

    文章

    1073

    浏览量

    40158
  • JAVA
    +关注

    关注

    19

    文章

    2904

    浏览量

    102994
  • 编码
    +关注

    关注

    6

    文章

    835

    浏览量

    54457

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    三相升压器合不上闸原因是什么?

    三相升压器合不上闸原因是什么? 三相升压器无法合上闸通常是由于以下几个原因: 1. 电源故障:升压器需要正常的电源供电,如果电源有问题,如电源断开或电压不稳定,将导致升压器无法合上闸。检查电源线
    的头像 发表于 11-20 14:50 407次阅读

    扩展性对物联网管理系统有哪些影响?

    扩展性对于物联网管理系统的设计和开发非常重要,它直接影响着系统的性能、可靠性和能耗等方面,是评估一个系统优劣的重要因素之一。可扩展性对物联网管理系统的影响主要体现在以下几个方面:
    的头像 发表于 10-11 15:15 249次阅读

    锡膏焊接后PCBA焊点产生空洞的原因是什么?

    从SMT贴片加工的角度来看,空洞率是不可避免的。任何厂家也不能说自己的贴片焊接焊点没有一点空洞。那么空洞是怎么产生的呢?空洞的原因是什么?通过佳金源锡膏厂家的工程师解释,空洞的产生主要原因如下:焊点
    的头像 发表于 09-25 17:26 634次阅读
    锡膏焊接后PCBA焊点产生空洞的<b class='flag-5'>原因是</b>什么?

    扩展性对物联网管理系统有哪些影响?

    :物联网管理系统的可扩展性意味着它可以支持各种不同的硬件平台和传感器设备,这使得企业可以根据实际需求选择适合的设备,并方便地与系统进行集成。    功能扩展:物联网管理系统的可扩展性
    的头像 发表于 09-19 11:23 326次阅读

    Brocade SAN针对Fabric OS 9.x的可扩展性指导原则

    电子发烧友网站提供《Brocade SAN针对Fabric OS 9.x的可扩展性指导原则.pdf》资料免费下载
    发表于 09-01 11:28 0次下载
    Brocade SAN针对Fabric OS 9.x的可<b class='flag-5'>扩展性</b>指导原则

    IO扩展模块哪些特点

    太网、串口等,使其能够与各种控制系统无缝集成。此外,IO扩展模块的配置也相对简单,工程师可以通过软件界面进行设定,从而快速适应不同的生产需求。  高度的扩展性  IO扩展模块还表现出
    发表于 08-31 18:14

    适用于Brocade Fabric OS 8.X的Brocade SAN可扩展性指导原则

    电子发烧友网站提供《适用于Brocade Fabric OS 8.X的Brocade SAN可扩展性指导原则.pdf》资料免费下载
    发表于 08-29 15:21 0次下载
    适用于Brocade Fabric OS 8.X的Brocade SAN可<b class='flag-5'>扩展性</b>指导原则

    SD-WAN组网的可扩展性怎么样?

    SD-WAN组网具有很好的可扩展性,能够轻松满足企业网络不断扩张和增长的需求,同时保持网络的高效和可管理性,这使得SD-WAN组网能够随着企业的快速发展而快速调整规模,变更拓扑,采取不同的接入方式
    的头像 发表于 08-18 11:29 314次阅读

    什么是云计算的可扩展性

    不断增长的数据池需要巨额投资和劳动密集型管理,但云托管的全球采用已经彻底改变了我们所知的数据行业。除了成本效益和灵活性之外,选择云而不是本地架构的主要好处之一是能够轻松快速地扩展。那么什么是云计算的可扩展性
    的头像 发表于 08-08 17:46 1480次阅读

    HLS-1Hin人工智能训练系统

    Habana Labs System 1H(HLS-1H)为数据中心带来了新水平的Al计算性能和电源效率,以及大规模的扩展性。 HLS-1
    发表于 08-04 06:06

    元数据管理的扩展性(2)#大数据处理

    大数据
    未来加油dz
    发布于 :2023年07月05日 10:55:25

    元数据管理的扩展性(1)#大数据处理

    大数据
    未来加油dz
    发布于 :2023年07月05日 10:54:59

    HadaFS可扩展性和性能的优势

    HadaFS 的新型 Burst Buffer 文件系统,实现了可扩展性和性能的优势与数据共享和部署成本的优势的良好结合。 相关文章: 收藏:多家Burst Buffer存储技术解析(附下载) Burst Buffer技术为何在HPC如此盛行 一、背景   高性能计算(HPC)正在经历计算规模和数据爆发式增
    的头像 发表于 06-14 10:11 389次阅读
    HadaFS可<b class='flag-5'>扩展性</b>和性能的优势

    一款扩展性高的渗透测试框架渗透测试框架

    MYExploit 简介 一款扩展性高的渗透测试框架渗透测试框架(完善中) 只支持部分EXP 利用 使用声明 本工具仅用于安全测试目的 用于非法用途与开发者、本公众号无关 工具下载地址 【进入下方名片回复关键词:504】       审核编辑:彭静
    的头像 发表于 05-30 09:06 371次阅读
    一款<b class='flag-5'>扩展性</b>高的渗透测试框架渗透测试框架