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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

什么是EXI,EXI基礎(chǔ)知識(shí)

哲想軟件 ? 來源:哲想軟件 ? 2025-02-07 09:22 ? 次閱讀

EXI 是 W3C 推薦高效 XML 交換 (EXI) 格式 1.0(第二版)中指定的 XML 的一種非常緊湊的表示。與標(biāo)準(zhǔn)(文本)XML 相比,EXI 提高了序列化和解析速度,并允許更有效地使用內(nèi)存和電池壽命。EXI 流通常比等效的 XML 文檔小很多倍,并且需要更少的 CPU 時(shí)間來讀取或?qū)懭搿?/p>

EXI 可以通過兩種主要方式對(duì) XML 文檔進(jìn)行編碼 - schemaless 模式和 schema-informed 模式。在 schemaless 模式下,EXI 可以對(duì)任何 XML 文檔進(jìn)行編碼,無論模式是否可供編碼器使用。在 schema-informed 模式下,EXI 具有獨(dú)特的能力,可以利用從 XML 模式中提取的信息來提高編碼效率,而通常不需要嚴(yán)格 數(shù)據(jù)對(duì)模式的依從性。但是,如果用戶確定數(shù)據(jù)根據(jù)架構(gòu)有效,EXI 編碼可以甚至更有效。

模式信息的使用使 EXI 編碼更有效,因?yàn)樗试S EXI 處理器在 EXI 流中的任何點(diǎn)對(duì)流中的下一項(xiàng)進(jìn)行某些預(yù)測(cè)。例如,如果模式指定元素“A”(在特定上下文中)必須始終跟隨元素“B”,那么當(dāng)前一個(gè)元素是“A”時(shí),元素“B”的出現(xiàn)將被編碼為 < span style="text-decoration: underline">零位(在 strict 模式下)。

在 schemaless 模式下,在編碼或解碼操作期間,EXI 處理器會(huì)根據(jù)目前遇到的文檔的實(shí)際內(nèi)容不斷修改編碼每個(gè)項(xiàng)目的方式。例如,當(dāng)EXI編碼器在一個(gè)元素“P”的內(nèi)容中遇到一個(gè)元素“C”時(shí),它假設(shè)當(dāng)當(dāng)前父元素是一個(gè)元素時(shí),一個(gè)名為“C”的元素比其他名字的元素出現(xiàn)的概率更高 命名為“P”,并創(chuàng)建一種縮寫方式來編碼名為“C”的元素在名為“P”的元素下的出現(xiàn)。下一次在名為“P”的元素下遇到名為“C”的元素(相同或具有相同名稱的后續(xù)元素),EXI 編碼器將能夠使用“C”的縮寫編碼,從而保存 空間。

總之,EXI 的用戶可以在三個(gè)主要選項(xiàng)之間進(jìn)行選擇:(a) 根本不使用模式 (schemaless),(b) 在 一種僅支持有效 XML 文檔的方式(schema-informed, strict),以及 (c) 以支持偏離模式的方式使用模式(< span style="font-style:italic">schema-informed, non-strict)。schema-informed, strict mode 是三者中效率最高的。schemaless 模式是最容易使用的,因?yàn)樗簧婕澳J健?/p>

EXI 與許多其他 XML 壓縮技術(shù)一樣,使用字符串表來臨時(shí)存儲(chǔ)正在編碼的 XML 文檔中出現(xiàn)的某些類型的字符串,例如名稱空間 URI、本地名稱、屬性值等,以允許后續(xù)出現(xiàn)相同的字符串。要使用短字符串標(biāo)識(shí)符編碼的字符串。在 schemaless 模式下,所有的字符串表都會(huì)在編碼或解碼操作開始時(shí)重置。在 schema-informed 模式中,包含命名空間 URI 和本地名稱的字符串表預(yù)先填充了取自模式或在 XML 模式建議中定義的字符串,以便 在每個(gè)編碼或解碼操作開始時(shí),這些字符串將是已知的。

EXI 中還有其他選項(xiàng)會(huì)影響 EXI 流的內(nèi)容。其中一些選項(xiàng),稱為 保真度選項(xiàng),控制 EXI 處理器在 EXI 流中包含某些類型的項(xiàng)目的能力,例如 XML 注釋、處理指令和命名空間聲明。如果用戶對(duì)保留在 EXI 編碼中的此類項(xiàng)目之一不感興趣,他們可以選擇一個(gè)選項(xiàng),通過不必包含該類型的項(xiàng)目來使 EXI 編碼更有效。因此,例如,如果用戶聲明不需要保留名稱空間聲明和前綴,則 EXI 流編碼器將放棄對(duì)這些內(nèi)容進(jìn)行編碼的能力,并且生成的 EXI 流可能更緊湊。還有另一個(gè)保真度選項(xiàng),它控制簡(jiǎn)單類型的屬性和元素的原始字符串值的保留。當(dāng)此選項(xiàng)not被選中時(shí),這些值的編碼效率更高(例如,類型為xsd:integer< /span> 將被編碼為二進(jìn)制整數(shù)而不是字符串),但讀取器在讀回 EXI 流時(shí)不可能重建確切的原始字符串。在許多應(yīng)用程序中,這種信息丟失是可以接受的,因此不應(yīng)選擇此選項(xiàng)。

EXI 的最后一個(gè)主要特性是支持字節(jié)對(duì)齊和壓縮。用戶可以選擇以下四種對(duì)齊方式之一:(a) bit-packed 對(duì)齊方式,(b) byte-aligned 對(duì)齊,(c) 預(yù)壓縮,和 (d) 壓縮跨度>。Bit-packed 和 compression 是更緊湊的(compression 通常但不總是比 bit-packed) 更緊湊。Bit-packed 和 byte-aligned 是更快的(byte-aligned 可能比 bit-packed 稍快)。

precompression 和 compression 都將 EXI 流中的編碼數(shù)據(jù)排列到特定的布局中,其中所有可能相似的編碼數(shù)據(jù)項(xiàng)都靠近在一起。這種安排提高了應(yīng)用于數(shù)據(jù)的壓縮算法的有效性。Precompression 本身不執(zhí)行任何壓縮,因?yàn)樗奈ㄒ荒康氖菫橐獞?yīng)用到的外部壓縮步驟(EXI 處理器之外)準(zhǔn)備 EXI 流EXI 流。壓縮 更進(jìn)一步,將標(biāo)準(zhǔn) DEFLATE 算法應(yīng)用于每個(gè)相似的編碼數(shù)據(jù)項(xiàng)塊,以生成最終的 EXI 流。

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

    關(guān)注

    68

    文章

    19607

    瀏覽量

    232375
  • 解碼
    +關(guān)注

    關(guān)注

    0

    文章

    184

    瀏覽量

    27644
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    962

    瀏覽量

    55219

原文標(biāo)題:OSS Nokalva:什么是EXI?

文章出處:【微信號(hào):哲想軟件,微信公眾號(hào):哲想軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    效果器的基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《效果器的基礎(chǔ)知識(shí).doc》資料免費(fèi)下載
    發(fā)表于 03-26 14:30 ?2次下載

    功率器件熱設(shè)計(jì)基礎(chǔ)知識(shí)

    功率器件熱設(shè)計(jì)是實(shí)現(xiàn)IGBT、碳化硅SiC等高功率密度器件可靠運(yùn)行的基礎(chǔ)。掌握功率半導(dǎo)體的熱設(shè)計(jì)基礎(chǔ)知識(shí),不僅有助于提高功率器件的利用率和系統(tǒng)可靠性,還能有效降低系統(tǒng)成本。本文將從熱設(shè)計(jì)的基本概念、散熱形式、熱阻與導(dǎo)熱系數(shù)、功率模塊的結(jié)構(gòu)和熱阻分析等方面,對(duì)功率器件熱設(shè)計(jì)基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 02-03 14:17 ?451次閱讀

    PCB繪制基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《PCB繪制基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 01-21 15:20 ?5次下載
    PCB繪制<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    EMC基礎(chǔ)知識(shí)-華為

    EMC基礎(chǔ)知識(shí)-華為
    發(fā)表于 01-06 14:09 ?2次下載

    萬字長(zhǎng)文,看懂激光基礎(chǔ)知識(shí)!

    深入介紹激光基礎(chǔ)知識(shí),幫助您輕松理解激光領(lǐng)域的關(guān)鍵概念和原理。
    的頭像 發(fā)表于 12-20 09:49 ?709次閱讀
    萬字長(zhǎng)文,看懂激光<b class='flag-5'>基礎(chǔ)知識(shí)</b>!

    品質(zhì)管理基礎(chǔ)知識(shí)

    品質(zhì)管理基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 11-01 11:08 ?552次閱讀
    品質(zhì)管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    TWL6030氣體監(jiān)測(cè)基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《TWL6030氣體監(jiān)測(cè)基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 10-29 10:02 ?0次下載
    TWL6030氣體監(jiān)測(cè)<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    Verilog HDL的基礎(chǔ)知識(shí)

    本文繼續(xù)介紹Verilog HDL基礎(chǔ)知識(shí),重點(diǎn)介紹賦值語句、阻塞與非阻塞、循環(huán)語句、同步與異步、函數(shù)與任務(wù)語法知識(shí)
    的頭像 發(fā)表于 10-24 15:00 ?858次閱讀
    Verilog HDL的<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    負(fù)載開關(guān)基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《負(fù)載開關(guān)基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 10-08 09:56 ?1次下載
    負(fù)載開關(guān)<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    全新的半導(dǎo)體基礎(chǔ)知識(shí)

    《全新的半導(dǎo)體基礎(chǔ)知識(shí)》首先對(duì)流行于電子書刊上數(shù)十年之久的經(jīng)典半導(dǎo)體基礎(chǔ)知識(shí)中存在的謬誤進(jìn)行了全方位的討論,然后以半導(dǎo)體內(nèi)部結(jié)構(gòu)為抓手,以G型半導(dǎo)體(客供電子型半導(dǎo)體)、H型半導(dǎo)體(主供電子型半導(dǎo)體
    的頭像 發(fā)表于 09-20 11:30 ?1688次閱讀
    全新的半導(dǎo)體<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    超聲波傳感基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《超聲波傳感基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 09-04 10:21 ?0次下載
    超聲波傳感<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    國(guó)產(chǎn)芯片LT8712EXI:4K60分辨率的三通道視頻DAC

    關(guān)于國(guó)產(chǎn)芯片LT8712EXI你了解多少呢?本文將從芯片的優(yōu)勢(shì)特點(diǎn)以及應(yīng)用程序方面帶你了解~ 首先,LT8712EXI的優(yōu)勢(shì)特點(diǎn)有: 1、LT8712EXI集成了一個(gè)符合DP1.2標(biāo)準(zhǔn)
    的頭像 發(fā)表于 08-06 14:58 ?985次閱讀
    國(guó)產(chǎn)芯片LT8712<b class='flag-5'>EXI</b>:4K60分辨率的三通道視頻DAC

    C++語言基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《C++語言基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 07-19 10:58 ?8次下載

    一文帶你了解LT8712EXI的優(yōu)勢(shì)特點(diǎn)以及適用程序

    LT8712EXI是一個(gè)高性能的Type-C/DP1.2到HDMI2.0/VGA轉(zhuǎn)換器,設(shè)計(jì)用于連接USB Type-C源或DP1.2源到VGA接收器,并同時(shí)連接兩個(gè)HDMI2.0接收器。
    的頭像 發(fā)表于 06-22 16:57 ?577次閱讀
    一文帶你了解LT8712<b class='flag-5'>EXI</b>的優(yōu)勢(shì)特點(diǎn)以及適用程序

    哪有FPGA的verilog編程基礎(chǔ)知識(shí)

    沒接觸過FPGA開發(fā),那個(gè)verilog編程有什么入門基礎(chǔ)知識(shí)學(xué)習(xí)的?
    發(fā)表于 04-29 23:09

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品