0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

選擇ASN.1 的原因是什么?使用可擴展性是否有任何權衡?

工程師鄧生 ? 來源:哲想軟件 ? 作者:哲想軟件 ? 2022-08-20 11:13 ? 次閱讀

1、選擇ASN.1 的原因是什么?

選擇ASN.1 的一些原因是:

ASN.1 允許實現(xiàn)者選擇最適合他們的任何編程語言,并在該語言中選擇最適合其應用程序的數(shù)據(jù)類型的綁定。例如,如果 ASN.1將類型定義為項目的集合,您可以自由地將其表示為鏈表、數(shù)組等,這取決于最適合您的語言/應用程序的方式。

ASN.1允許您以這樣一種方式定義消息,即如果將來向消息中添加新字段,您不理解新字段的舊應用程序將繼續(xù)與理解新字段的新應用程序一起正常工作。這樣您就不必同時將所有實現(xiàn)切換到消息的新版本。對于此類消息,較舊的實現(xiàn)意識到他們應該期望并忽略消息中的新字段。

ASN.1 允許您對消息中的字段施加約束。例如,您可以指示整數(shù)類型應該只攜帶值1、2、7-10,或者字符串的長度應該在20-30 個字節(jié)之間。

ASN.1 允許您表達消息字段之間的關系。例如,您可以指示如果給定字段包含 7,則必須存在另一個字段。

ASN.1 允許您定義OPTIONAL 字段,如果沒有數(shù)據(jù),則傳輸很少或不傳輸數(shù)據(jù)。

ASN.1 允許消息規(guī)范的作者(例如,標準編寫者)以清晰簡潔的方式向實現(xiàn)者明確指出消息中字段的性質(zhì)。

ASN.1 讓協(xié)議設計人員能夠自由地描述消息的布局,而無需深入研究在兩臺機器之間傳輸?shù)臄?shù)據(jù)的位和字節(jié)細節(jié),從而提高了生產(chǎn)力。

通過使用正式的、可編譯的符號ASN.1 定義消息,可以通過使用將使用ASN.1 描述的消息轉換為C、C++Java等語言的工具以及編碼器/解碼器來提高生產(chǎn)力,以最小化或無需弄清楚如何序列化數(shù)據(jù)以進行傳輸。

2、使用可擴展性是否有任何權衡?

如果您希望中繼接收到的值(即,如果您希望解碼器將意外值返回給您,而不是被解碼器忽略),則使用可擴展性將導致生成稍微復雜的頭文件。在大多數(shù)情況下,它足以滿足“舊”版本忽略從“新”版本收到的擴展值,因為它通常不知道如何處理它們。

就您的應用程序代碼而言,通常它不會導致更大或更復雜的代碼。

如果您使用PER,如果您使用類型可擴展性,則編碼會稍大一些。類型可擴展性對 BER 編碼的大小沒有影響。

除非您提前知道永遠不需要擴展給定類型,否則您應該將其定義為可擴展的。

3、標記會影響PER 中的編碼數(shù)據(jù)嗎?

一般來說,無論標簽是什么,編碼數(shù)據(jù)看起來都是一樣的。

唯一的例外是選擇類型的編碼。在 PER 中,選擇類型的每個備選方案都由索引標識。這些索引以取決于每個備選方案的標簽的順序分配給備選方案。當使用自動標記時,索引確實對應于備選方案的定義順序。

4、PER中的開放類型值是如何編碼的?

在PER中開放類型的編碼與無約束的OCTETSTRING類型的值相同。這意味著長度可以是一個或兩個字節(jié),或者如果長度是>16K字節(jié),則編碼會被分割開來,等等。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 解碼器
    +關注

    關注

    9

    文章

    1107

    瀏覽量

    40443
  • JAVA
    +關注

    關注

    19

    文章

    2943

    瀏覽量

    104096
  • 編碼
    +關注

    關注

    6

    文章

    915

    瀏覽量

    54651

原文標題:?OSS Nokalva:ASN.1問答時間(1)

文章出處:【微信號:哲想軟件,微信公眾號:哲想軟件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用低成本MSPM0 MCU在無線電動工具和園藝工具中實現(xiàn)擴展性

    電子發(fā)燒友網(wǎng)站提供《使用低成本MSPM0 MCU在無線電動工具和園藝工具中實現(xiàn)擴展性.pdf》資料免費下載
    發(fā)表于 09-02 11:47 ?0次下載
    使用低成本MSPM0 MCU在無線電動工具和園藝工具中實現(xiàn)<b class='flag-5'>可</b><b class='flag-5'>擴展性</b>

    國產(chǎn)NVMe SSD擴展卡:驅動存儲新紀元

    NVMe技術的標準化接口使得不同廠商的設備能夠更好地兼容和互操作,提升了存儲系統(tǒng)的靈活性和擴展性。
    的頭像 發(fā)表于 08-17 14:59 ?1304次閱讀
    國產(chǎn)NVMe SSD<b class='flag-5'>擴展</b>卡:驅動存儲新紀元

    有源光網(wǎng)絡的優(yōu)勢哪些

    應用日益增長的需求。 低延遲:使用光纖技術和有源元件可將AON網(wǎng)絡內(nèi)的信號延遲降至最低。這種低延遲對于在線游戲、視頻會議和金融交易等實時應用至關重要,因為即使是輕微的延遲也可能造成嚴重后果。 擴展性:有源光網(wǎng)絡具有高度
    的頭像 發(fā)表于 06-14 10:50 ?244次閱讀

    如何挑選智能物聯(lián)網(wǎng)平臺?了解這五大關鍵要素,助力企業(yè)智能化

    :平臺擴展性 選擇智能物聯(lián)網(wǎng)平臺時,首先要考慮其擴展性。畢竟,隨著企業(yè)的發(fā)展,業(yè)務需求會不斷增加,相應的物聯(lián)網(wǎng)平臺也需要支持更多的功能和
    的頭像 發(fā)表于 03-08 15:39 ?373次閱讀

    如何選擇合適的集中電源控制器?

    控制、遙控控制、手動控制等。 穩(wěn)定性:選擇性能穩(wěn)定、可靠性高的集中電源控制器,以確保設備的長期穩(wěn)定運行。 擴展性:考慮集中電源控制器的擴展性,以便在未來增加更多設備或系統(tǒng)時仍能方便地使用該控制器。 成本:在滿足
    的頭像 發(fā)表于 01-30 15:25 ?452次閱讀
    如何<b class='flag-5'>選擇</b>合適的集中電源控制器?

    分布式大屏控制系統(tǒng)的擴展性設計

    分布式大屏控制系統(tǒng)的擴展性設計是確保系統(tǒng)能夠適應不斷增長的需求和未來發(fā)展的關鍵因素。以下是擴展性設計的幾個方面: 模塊化設計:將系統(tǒng)劃分為多個模塊,每個模塊具有獨立的功能和接口。這
    的頭像 發(fā)表于 01-29 14:46 ?431次閱讀

    選擇好的云主機需了解哪些關鍵因素?

    選擇適當?shù)呐渲谩?2、擴展性:考慮您的應用是否需要具備彈性擴展的能力,以應對流量波動和增長。云主機應該支持快速垂直或水平
    的頭像 發(fā)表于 01-18 17:34 ?270次閱讀

    常見的齒輪失效哪些形式?失效的原因是什么?如何解決?

    常見的齒輪失效哪些形式?失效的原因是什么?可采用哪些措施來減緩失效的發(fā)生? 齒輪是機械傳動中常用的一種傳動方式,它能夠將動力從一個軸傳遞到另一個軸上。然而,在長時間使用過程中,齒輪也會出現(xiàn)各種失效
    的頭像 發(fā)表于 12-20 11:37 ?2858次閱讀

    三相升壓器合不上閘原因是什么?

    三相升壓器合不上閘原因是什么? 三相升壓器無法合上閘通常是由于以下幾個原因1. 電源故障:升壓器需要正常的電源供電,如果電源問題,如電源斷開或電壓不穩(wěn)定,將導致升壓器無法合上閘。
    的頭像 發(fā)表于 11-20 14:50 ?814次閱讀

    基于第四代英特爾?至強?擴展處理器的浪潮云海超融合壓縮和糾刪功能設計

    浪潮云海InCloud Rail超融合一體機通過軟件定義計算、存儲和網(wǎng)絡技術實現(xiàn)服務器的資源池化,為整個IT環(huán)境提供更高的可用性、安全性和擴展性,能夠滿足企業(yè)對于降低成本、簡化管理、提高安全性和擴展性的需求,助力企業(yè)遷移核心業(yè)務上云,構建企業(yè)云數(shù)據(jù)中心。
    的頭像 發(fā)表于 11-18 11:55 ?587次閱讀
    基于第四代英特爾?至強?<b class='flag-5'>可</b><b class='flag-5'>擴展</b>處理器的浪潮云海超融合壓縮和糾刪功能設計

    特斯拉的擴展自動駕駛解決方案

    特斯拉的自動駕駛策略是僅依賴攝像頭。雖然這是一個更具挑戰(zhàn)性的問題,但如果特斯拉能夠解決它,他們將擁有一個更具擴展性的解決方案。特斯拉不使用高清地圖,這是一個更具挑戰(zhàn)性的問題。
    發(fā)表于 11-10 11:29 ?404次閱讀

    選擇SAS還是NVMe?虹科網(wǎng)絡基礎帶您一探究竟!

    存儲架構師需要通過確保他們選擇的存儲解決方案提供支持其生態(tài)系統(tǒng)所需的安全性、穩(wěn)定性、擴展性和管理特性來應對當今的業(yè)務挑戰(zhàn)。當他們考慮采用新的存儲技術時,在采用新技術之前,他們應該權衡
    的頭像 發(fā)表于 10-19 08:09 ?1319次閱讀
    <b class='flag-5'>選擇</b>SAS還是NVMe?虹科網(wǎng)絡基礎帶您一探究竟!

    擴展性對物聯(lián)網(wǎng)管理系統(tǒng)哪些影響?

    擴展性對于物聯(lián)網(wǎng)管理系統(tǒng)的設計和開發(fā)非常重要,它直接影響著系統(tǒng)的性能、可靠性和能耗等方面,是評估一個系統(tǒng)優(yōu)劣的重要因素之一。擴展性對物聯(lián)網(wǎng)管理系統(tǒng)的影響主要體現(xiàn)在以下幾個方面:
    的頭像 發(fā)表于 10-11 15:15 ?381次閱讀

    為什么選擇 PostgreSQL

    復雜的查詢、事務、觸發(fā)器和許多其他數(shù)據(jù)庫功能。PostgreSQL 以其可靠性、性能和擴展性而聞名,廣泛用于各種應用程序和項目中。 為什么選擇 PostgreSQL? 1. 開源和免
    的頭像 發(fā)表于 09-30 10:25 ?1129次閱讀

    錫膏焊接后PCBA焊點產(chǎn)生空洞的原因是什么?

    產(chǎn)生空洞的主要原因是助焊劑中的有機物遇熱分解產(chǎn)生的氣泡不能及時排出,在焊點中冷卻后就會產(chǎn)生空洞現(xiàn)象。焊點空洞的影響因素如下:1、助焊劑活性。由于助焊劑當中熔劑的
    的頭像 發(fā)表于 09-25 17:26 ?1012次閱讀
    錫膏焊接后PCBA焊點產(chǎn)生空洞的<b class='flag-5'>原因是</b>什么?