一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

JSON壓縮算法解讀

共熵服務(wù)中心 ? 來源:未知 ? 2022-11-23 19:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

646e29d6-6b1e-11ed-8abf-dac502259ad0.png

文章轉(zhuǎn)發(fā)自51CTO 開源基礎(chǔ)軟件社區(qū) OpenHarmony成長計(jì)劃啃論文俱樂部【FFH】啃論文俱樂部---JSON壓縮算法解讀

1.關(guān)于作者

大家好!我是來自深圳技術(shù)大學(xué)FSR Lab(編者注:Falcon Swarm Robotics Lab獵鷹集群機(jī)器人控制實(shí)驗(yàn)室的縮寫)的同學(xué),標(biāo)題FFH就是FSRlab For Harmony!并且我也正在參加OpenHarmony成長計(jì)劃從論文到開源提交研究,以后我們也會陸續(xù)在這個(gè)社區(qū)記錄學(xué)習(xí)心得和體會。

在OpenHarmony成長計(jì)劃啃論文俱樂部里,F(xiàn)FH小組同學(xué)們與華為、軟通動力、潤和軟件、拓維信息、深開鴻等公司一起,學(xué)習(xí)和研究序列化相關(guān)技術(shù)…

2. 為什么需要壓縮JSON?

盡管JSON數(shù)據(jù)格式比XML效率要高,但是它仍然是web服務(wù)器和瀏覽器傳輸過程中比較低效的數(shù)據(jù)格式。為什么呢?

  • 首先,它將所有的內(nèi)容都轉(zhuǎn)換為了文本。

  • 第二是轉(zhuǎn)換之后的文本過度使用引號,這樣會給每個(gè)字符串添加多兩個(gè)字節(jié)。

  • 第三,它本身沒有schema的標(biāo)準(zhǔn)格式,比如在一個(gè)消息中序列化多個(gè)對象的時(shí)候,即使每個(gè)對象的屬性的鍵名是重復(fù)且相同的,但是轉(zhuǎn)換后的文本數(shù)據(jù)還是會重復(fù)每一個(gè)鍵名。

JSON以前的時(shí)候有一個(gè)優(yōu)勢,就是可以被Javascript引擎直接解析,但因?yàn)楝F(xiàn)在越來越重視安全性,JSON的這個(gè)優(yōu)勢也逐漸消失了,但是因?yàn)樗萖ML效率以及性能都更高,所以許多傳統(tǒng)的C/S模式都是選擇JSON,比如web服務(wù)。當(dāng)有龐大的數(shù)據(jù)量以及復(fù)雜數(shù)據(jù)結(jié)構(gòu)需要從web瀏覽器中傳輸?shù)椒?wù)器的時(shí)候,JSON壓縮就起到了非常大的作用,然而中間就會存在我們剛剛說的三點(diǎn)問題,我們也不能使用傳統(tǒng)的gzip壓縮算法,因?yàn)闉g覽器不知道服務(wù)器是否支持gzip解壓。

下面我們就來看看兩種常見的JSON壓縮算法,cJSON與HPack。

3. cJSON壓縮算法

cJSON壓縮算法(cJSON Compression Algorithm)的特點(diǎn)就是可以使用自動類型提取壓縮JSON數(shù)據(jù)格式的內(nèi)容。它成功解決了一個(gè)非常重要的問題,就是我們上一小節(jié)提到的第三點(diǎn),將不斷重復(fù)的鍵名舍去了,我們我們來看一個(gè)例子:

使用cJSON前的數(shù)據(jù)格式:

[
    {   //表示一個(gè)坐標(biāo)點(diǎn)
        "x":100,
        "y":100
    },
    {   //表示一個(gè)長方形
        "x":100,
        "y":100,
        "width":200,
        "height":150
    },
    {},//表示一個(gè)空對象
    ... //以下省略數(shù)以萬計(jì)的對象
]

上面未經(jīng)壓縮的數(shù)據(jù)中,我們可以看到有非常多的空間被重復(fù)的鍵名所占據(jù),比如“x”,“y”等等,當(dāng)數(shù)據(jù)非常多的時(shí)候,這些看起來不起眼的重復(fù)鍵名會給傳輸效率帶來非常大的影響,其實(shí)解決思路也非常簡單,因?yàn)樗麄兪侵貜?fù)的,那我們只存儲一次不就好了?下面我們來按照我們的思路看看cJSON處理過后的數(shù)據(jù)吧。

{
    "templates":[
        ["x","y"],  //type1
        ["x","y","width","height"] //type2
    ],
    "value":[
        {    //第一個(gè)對象:坐標(biāo)點(diǎn)
            "type":1,
            "values":[
                100,
                100
            ] 
        },
        {    //第二個(gè)對象:矩形
            "type":2,
            "values":[
                100,
                100,
                200,
                150
            ]   
        },
        {
            //第三個(gè)空對象
        },
        //以下省略數(shù)以萬計(jì)的對象......
    ]
}

從上面的數(shù)據(jù)中我們可以看到,我們格式化了數(shù)據(jù),把鍵名存儲了起來,重復(fù)的就不存儲,然后值通過“type”索引來對應(yīng)鍵名,這樣在數(shù)據(jù)量龐大的時(shí)候確實(shí)減少了不少空間,但是我們仔細(xì)看“templates”內(nèi)的鍵名依舊有重復(fù)的字段存在。說明了我們還存在優(yōu)化空間,優(yōu)化完壓縮后效果如下:

{  "function": "cjson",
   "templates": [ 
           [0, "x", "y"],
           [1, "width",  "height"] 
       ],  
   "values": [ 
           [1, 100, 100 ],           //第一個(gè)對象:坐標(biāo)點(diǎn)
           [2, 100, 100, 200, 150 ], //第二個(gè)對象:矩形
           []                        //第三個(gè)空對象
       ] 
}

直接看壓縮后的代碼結(jié)構(gòu)你可能不太能理解,那我們就來看看他的具體原理,為了解決“template”內(nèi)鍵名重復(fù)的字段,這個(gè)算法采用了樹這個(gè)數(shù)據(jù)結(jié)構(gòu),每遇到一個(gè)要傳輸?shù)膶ο?,就按順序把鍵值存入樹的節(jié)點(diǎn)中(灰色的節(jié)點(diǎn)是被標(biāo)記的結(jié)尾節(jié)點(diǎn)指針,表示該節(jié)點(diǎn)存儲的是某個(gè)對象最后一個(gè)屬性的鍵值),重復(fù)的就不存儲,這樣就解決了我們的問題,這個(gè)鍵值樹的變化過程如下:

65312ac6-6b1e-11ed-8abf-dac502259ad0.png

最后數(shù)據(jù)在匹配鍵值的時(shí)候就根據(jù) “values” 中所標(biāo)記的結(jié)尾節(jié)點(diǎn)指針找到對應(yīng)鍵值數(shù)組,這樣就構(gòu)成了cJSON的壓縮算法。

仔細(xì)的同學(xué)就會發(fā)現(xiàn),如果一個(gè)對象中沒有"X"和"Y",只有“width”和“height”,或者鍵值節(jié)點(diǎn)順序是錯(cuò)的,是不是會出問題?答案是對的,會出現(xiàn)無法匹配的鍵值的情況,所以這種方法只能在特定的場景下應(yīng)用,存在一定局限性。

總體來說,cJSON在處理非常龐大的數(shù)據(jù)量的時(shí)候效果還是非??陀^的。

4.JSON.HPack壓縮算法

JSON.HPack壓縮算法(HPack Compression Algorithm)是一種無損、跨語言、注重性能的JSON數(shù)據(jù)壓縮算法,可以讓我們在使用post請求在客戶端發(fā)送數(shù)據(jù)到服務(wù)器的過程中相對普通JSON格式節(jié)省約70%的字符。

其原理本質(zhì)上也是跟cJSON一樣將鍵值抽離開,舉個(gè)例子:

使用HPack算法前:

{   
    "id" : 1,  
    "sex" : "Female",  
    "age" : 38,  
    "classOfWorker" : "Private",  
    "maritalStatus" : "Married-civilian  spouse present",  
    "education" : "1st 2nd 3rd or 4th  grade",  
    "race" : "White" 
}

使用HPack算法后:

["id","sex","age","classOfWorker","mari talStatus","education","race"],
[1,"Female",38,"Private","Married-civilianspousepresent","1st2nd3rdor4thgrade","White"]

可以看到相對于普通JSON以及cJSON少了很多字符,比如引號,各種括號等等,這種壓縮算法在數(shù)據(jù)量龐大的情況下效果也非??捎^。

HPack算法提供了幾個(gè)級別的壓縮(從0到4)。等級越高壓縮效率越高,每提升一個(gè)等級都有引入附加功能。0級壓縮通過從結(jié)構(gòu)中分離鍵值來執(zhí)行最基本的壓縮,并在索引0的元素上創(chuàng)建鍵名數(shù)組,下一個(gè)等級就可以通過假設(shè)存在重復(fù)條目來進(jìn)一步減小JSON數(shù)據(jù)的大小。

5.性能分析

接下來我們直接用數(shù)據(jù)來看看這幾個(gè)壓縮算法的壓縮效率,我們分別用5組大小不同的JSON文件(50KB~1MB),每個(gè)JSON文件將使用servlet容器(tomcat)提供給瀏覽器,并分別用以下算法進(jìn)行壓縮:

  • Original JSON size - 未作修改的JSON數(shù)據(jù)

  • Minimized - 刪除空白和新行(最基本的js優(yōu)化)

  • Compresse cJSON - 使用CJSON壓縮算法進(jìn)行JSON壓縮

  • Compresse HPack - 使用JSON.HPack壓縮算法進(jìn)行JSON壓縮

  • Gzipped - 使用gzip和進(jìn)行JSON壓縮

  • Gzipped + Minimized - 使用gzip和刪除空白和新行(最基本的js優(yōu)化)進(jìn)行JSON壓縮

  • Gzipped + Compresse cJSON - 使用gzip和CJSON壓縮算法進(jìn)行JSON壓縮

  • Gzipped + Compresse HPack - 使用gzip和JSON.HPack壓縮算法進(jìn)行JSON壓縮

下表(TABLE I.RESULTES)是用以上各種方式處理完后的JSON數(shù)據(jù)大?。╞ytes),不同列表示不同的JSON數(shù)據(jù)集,不同行表示使用不同的壓縮方式。

65581424-6b1e-11ed-8abf-dac502259ad0.png

下面第一個(gè)圖表Y軸表示JSON數(shù)據(jù)大小(bytes):

6582fcd4-6b1e-11ed-8abf-dac502259ad0.png

第二張圖Y軸是JSON數(shù)據(jù)大小的百分比(%),原始數(shù)據(jù)為100%:

65bb7320-6b1e-11ed-8abf-dac502259ad0.png

從上面的幾個(gè)圖表中我們可以直觀地看到,單獨(dú)使用cJSON可以把原始數(shù)據(jù)大小壓縮到45%左右,單獨(dú)使用HPack可以把原始數(shù)據(jù)大小壓縮到8%左右,可見整體上HPack是優(yōu)于cJSON的。

然而我們可以看到當(dāng)使用gzip和上面提到的兩個(gè)壓縮算法相結(jié)合進(jìn)行JSON壓縮,效果才是最優(yōu)的,基本可以達(dá)到1%~2%的壓縮率。

總的來說,HPack比cJSON效率更高,速度也更快,但是在使用壓縮算法進(jìn)行傳輸?shù)倪^程中,接收的一端需要進(jìn)行相應(yīng)的解壓縮操作,否則無法使用被壓縮過后的JSON數(shù)據(jù),這一步也會存在一定的性能開銷,在我們選擇使用JSON壓縮的時(shí)候,也需要考慮到這一點(diǎn)。當(dāng)可以使用gzip進(jìn)行壓縮的時(shí)候,這種方法比其他壓縮算法的效率都高,當(dāng)兩者同時(shí)結(jié)合起來,效果顯而易見。

好了,我們這一次完整地了解了JSON序列化的發(fā)展,規(guī)范,應(yīng)用以及相關(guān)的壓縮算法,相信大家不僅對JSON壓縮算法有了更深的了解,也對JSON序列化這個(gè)技術(shù)領(lǐng)域有了深刻的認(rèn)識。

6.參考文獻(xiàn)

JSON Compression Algorithmshttp://repository.utm.md/bitstream/handle/5014/6418/ICMCS_2011_1_pg_244_247.pdf?sequence=1

<本文完>

寫在最后

OpenHarmony 成長計(jì)劃—“啃論文俱樂部”(以下簡稱“啃論文俱樂部”)是在 2022年 1 月 11 日的一次日?;顒又姓Q生的。截至 3 月 31 日,啃論文俱樂部已有 87 名師生和企業(yè)導(dǎo)師參與,目前共有十二個(gè)技術(shù)方向并行探索,每個(gè)方向都有專業(yè)的技術(shù)老師帶領(lǐng)同學(xué)們通過啃綜述論文制定技術(shù)地圖,按“降龍十八掌”的學(xué)習(xí)方法編排技術(shù)開發(fā)內(nèi)容,并通過專業(yè)推廣培養(yǎng)高校開發(fā)者成為軟件技術(shù)學(xué)術(shù)級人才。

啃論文俱樂部的宗旨是希望同學(xué)們在開源活動中得到軟件技術(shù)能力提升、得到技術(shù)寫作能力提升、得到講解技術(shù)能力提升。大學(xué)一年級新生〇門檻參與,已有俱樂部來自多所高校的大一同學(xué)寫出高居榜首的技術(shù)文章。

如今,搜索“啃論文”,人們不禁想到、而且看到的都是我們——OpenHarmony 成長計(jì)劃—“啃論文俱樂部”的產(chǎn)出。

65d7c52a-6b1e-11ed-8abf-dac502259ad0.jpg

66146b92-6b1e-11ed-8abf-dac502259ad0.jpg

662b13ec-6b1e-11ed-8abf-dac502259ad0.jpg

OpenHarmony開源與開發(fā)者成長計(jì)劃—“啃論文俱樂部”學(xué)習(xí)資料合集

1)入門資料:啃論文可以有怎樣的體驗(yàn)

https://docs.qq.com/slide/DY0RXWElBTVlHaXhi?u=4e311e072cbf4f93968e09c44294987d

2)操作辦法:怎么從啃論文到開源提交以及深度技術(shù)文章輸出https://docs.qq.com/slide/DY05kbGtsYVFmcUhU

3)企業(yè)/學(xué)校/老師/學(xué)生為什么要參與 & 啃論文俱樂部的運(yùn)營辦法https://docs.qq.com/slide/DY2JkS2ZEb2FWckhq

4)往期啃論文俱樂部同學(xué)分享會精彩回顧:

同學(xué)分享會No1.成長計(jì)劃啃論文分享會紀(jì)要(2022/02/18)https://docs.qq.com/doc/DY2RZZmVNU2hTQlFY

同學(xué)分享會No.2 成長計(jì)劃啃論文分享會紀(jì)要(2022/03/11)https://docs.qq.com/doc/DUkJ5c2NRd2FRZkhF

同學(xué)們分享會No.3 成長計(jì)劃啃論文分享會紀(jì)要(2022/03/25)

https://docs.qq.com/doc/DUm5pUEF3ck1VcG92?u=4e311e072cbf4f93968e09c44294987d

現(xiàn)在,你是不是也熱血沸騰,摩拳擦掌地準(zhǔn)備加入這個(gè)俱樂部呢?當(dāng)然歡迎啦!啃論文俱樂部向任何對開源技術(shù)感興趣的大學(xué)生開發(fā)者敞開大門。

66710b54-6b1e-11ed-8abf-dac502259ad0.png

掃碼添加 OpenHarmony 高校小助手,加入“啃論文俱樂部”微信群

后續(xù),我們會在服務(wù)中心公眾號陸續(xù)分享一些 OpenHarmony 開源與開發(fā)者成長計(jì)劃—“啃論文俱樂部”學(xué)習(xí)心得體會和總結(jié)資料。記得呼朋引伴來看哦。

6688276c-6b1e-11ed-8abf-dac502259ad0.gif

669befa4-6b1e-11ed-8abf-dac502259ad0.png

66d12a0c-6b1e-11ed-8abf-dac502259ad0.png

6700d540-6b1e-11ed-8abf-dac502259ad0.png

6786f7c4-6b1e-11ed-8abf-dac502259ad0.png

67c90f56-6b1e-11ed-8abf-dac502259ad0.png

67f68972-6b1e-11ed-8abf-dac502259ad0.png

6814e372-6b1e-11ed-8abf-dac502259ad0.png

6853c2f4-6b1e-11ed-8abf-dac502259ad0.png

68f83c8a-6b1e-11ed-8abf-dac502259ad0.png

691b1836-6b1e-11ed-8abf-dac502259ad0.png

6949b696-6b1e-11ed-8abf-dac502259ad0.png

69d3694a-6b1e-11ed-8abf-dac502259ad0.png

6a6bb498-6b1e-11ed-8abf-dac502259ad0.png

6a8efd18-6b1e-11ed-8abf-dac502259ad0.png

6aa52340-6b1e-11ed-8abf-dac502259ad0.png

6acf0e1c-6b1e-11ed-8abf-dac502259ad0.png

6b2ab64a-6b1e-11ed-8abf-dac502259ad0.png

6b47f3cc-6b1e-11ed-8abf-dac502259ad0.png

6b691b4c-6b1e-11ed-8abf-dac502259ad0.png

6b98fb3c-6b1e-11ed-8abf-dac502259ad0.png

6bb21158-6b1e-11ed-8abf-dac502259ad0.png

6bd4d6ca-6b1e-11ed-8abf-dac502259ad0.png

6bf73ef4-6b1e-11ed-8abf-dac502259ad0.png

6c138550-6b1e-11ed-8abf-dac502259ad0.png

6c5d1daa-6b1e-11ed-8abf-dac502259ad0.png

6c76cfb6-6b1e-11ed-8abf-dac502259ad0.png

6d10d5ca-6b1e-11ed-8abf-dac502259ad0.png


原文標(biāo)題:JSON壓縮算法解讀

文章出處:【微信公眾號:開源技術(shù)服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

    關(guān)注

    0

    文章

    389

    瀏覽量

    8172
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3853

    瀏覽量

    18594

原文標(biāo)題:JSON壓縮算法解讀

文章出處:【微信號:開源技術(shù)服務(wù)中心,微信公眾號:共熵服務(wù)中心】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于FPGA的壓縮算法加速實(shí)現(xiàn)

    本設(shè)計(jì)中,計(jì)劃實(shí)現(xiàn)對文件的壓縮及解壓,同時(shí)優(yōu)化壓縮中所涉及的信號處理和計(jì)算密集型功能,實(shí)現(xiàn)對其的加速處理。本設(shè)計(jì)的最終目標(biāo)是證明在充分并行化的硬件體系結(jié)構(gòu) FPGA 上實(shí)現(xiàn)該算法時(shí),可以大大提高該
    的頭像 發(fā)表于 07-10 11:09 ?668次閱讀
    基于FPGA的<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>加速實(shí)現(xiàn)

    harmony-utils之JSONUtil,JSON工具類

    harmony-utils之JSONUtil,JSON工具類 harmony-utils 簡介與說明 harmony-utils 一款功能豐富且極易上手的HarmonyOS工具庫,借助眾多實(shí)用工具類
    的頭像 發(fā)表于 07-03 18:21 ?142次閱讀

    嵌入式系統(tǒng)中的代碼優(yōu)化與壓縮技術(shù)

    在當(dāng)今數(shù)字化時(shí)代,嵌入式系統(tǒng)廣泛應(yīng)用于各個(gè)領(lǐng)域,從智能家居設(shè)備到工業(yè)控制系統(tǒng),從汽車電子到可穿戴設(shè)備,它們無處不在。而在嵌入式系統(tǒng)開發(fā)中,代碼優(yōu)化與壓縮技術(shù)至關(guān)重要,直接影響著系統(tǒng)的性能、成本
    發(fā)表于 02-26 15:00

    EE-257:面向Blackfin處理器的引導(dǎo)壓縮/解壓縮算法

    電子發(fā)燒友網(wǎng)站提供《EE-257:面向Blackfin處理器的引導(dǎo)壓縮/解壓縮算法.pdf》資料免費(fèi)下載
    發(fā)表于 01-07 13:56 ?0次下載
    EE-257:面向Blackfin處理器的引導(dǎo)<b class='flag-5'>壓縮</b>/解<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>

    think-cell——使用JSON數(shù)據(jù)實(shí)現(xiàn)自動化(一)

    您可以使用 JSON 中的數(shù)據(jù)來復(fù)制最初作為模板創(chuàng)建的圖表,并為其提供新的數(shù)據(jù)表。您可以控制使用特定模板構(gòu)建新演示文稿的順序。模板也可以多次使用。 PowerPoint 模板和 JSON 數(shù)據(jù)都可以
    的頭像 發(fā)表于 01-02 13:37 ?388次閱讀
    think-cell——使用<b class='flag-5'>JSON</b>數(shù)據(jù)實(shí)現(xiàn)自動化(一)

    MOSFET參數(shù)解讀

    SGT-MOSFET各項(xiàng)參數(shù)解讀
    發(fā)表于 12-30 14:15 ?1次下載

    【「從算法到電路—數(shù)字芯片算法的電路實(shí)現(xiàn)」閱讀體驗(yàn)】+內(nèi)容簡介

    內(nèi)容簡介這是一本深入解讀基礎(chǔ)算法及其電路設(shè)計(jì),以打通算法研發(fā)到數(shù)字IC設(shè)計(jì)的實(shí)現(xiàn)屏障,以及指導(dǎo)芯片設(shè)計(jì)工程師從底層掌握復(fù)雜電路設(shè)計(jì)與優(yōu)化方法為目標(biāo)的專業(yè)技術(shù)書。任何芯片(如WiFi芯片、5G芯片
    發(fā)表于 11-21 17:14

    實(shí)例篇 4G模組軟件之json數(shù)據(jù)處理!

    今天我會把4G模組軟件的json數(shù)據(jù)處理整理成文,以低功耗模組Air780E為例,一一展示出來:
    的頭像 發(fā)表于 11-12 12:17 ?490次閱讀

    【BearPi-Pico H3863星閃開發(fā)板體驗(yàn)連載】LZO壓縮算法移植

    壓縮算法使用 一、概述 壓縮算法是一類用于減小數(shù)據(jù)大小的計(jì)算方法,它們在數(shù)據(jù)存儲和傳輸領(lǐng)域扮演著重要角色。壓縮
    發(fā)表于 11-10 21:45

    壓縮算法的類型和應(yīng)用

    壓縮算法是一種通過減少數(shù)據(jù)量來節(jié)省存儲空間或傳輸數(shù)據(jù)的技術(shù)。壓縮算法可以分為兩種類型:有損壓縮和無損壓縮
    的頭像 發(fā)表于 10-21 13:50 ?903次閱讀

    Huffman壓縮算法概述和詳細(xì)流程

    Huffman壓縮算法是一種基于字符出現(xiàn)頻率的編碼算法,通過構(gòu)建Huffman樹,將出現(xiàn)頻率高的字符用短編碼表示,出現(xiàn)頻率低的字符用長編碼表示,從而實(shí)現(xiàn)對數(shù)據(jù)的壓縮。
    的頭像 發(fā)表于 10-21 13:48 ?896次閱讀

    名單公布!【書籍評測活動NO.46】從算法到電路 | 數(shù)字芯片算法的電路實(shí)現(xiàn)

    :elecfans123)領(lǐng)取書籍進(jìn)行評測,如在5個(gè)工作日內(nèi)未聯(lián)系,視為放棄本次試用評測資格! 《從算法到電路——數(shù)字芯片算法的電路實(shí)現(xiàn)》 是一本深入解讀基礎(chǔ)算法及其電路設(shè)計(jì),以打通
    發(fā)表于 10-09 13:43

    如何使用gzip壓縮和解壓縮技術(shù)

    Nginx是一款高性能的Web服務(wù)器,它也能夠充當(dāng)反向代理服務(wù)器和負(fù)載均衡器。在Web應(yīng)用開發(fā)中,優(yōu)化網(wǎng)站速度是一個(gè)非常重要的工作。使用gzip壓縮和解壓縮技術(shù),可以有效減小傳輸文件的大小,提升網(wǎng)站的訪問速度。
    的頭像 發(fā)表于 09-29 15:57 ?872次閱讀

    使用qboot時(shí)選擇了壓縮率更高的zip算法,但是發(fā)現(xiàn)編譯報(bào)錯(cuò),為什么?

    在使用qboot時(shí)選擇了壓縮率更高的zip算法,但是發(fā)現(xiàn)編譯報(bào)錯(cuò),如下圖:
    發(fā)表于 09-26 07:22

    JSON協(xié)議是什么,物聯(lián)網(wǎng)中的RTU中如何使用JSON協(xié)議和服務(wù)器交互

    一 概述 1.1 什么是 JSON JSON是JavaScript Object Notation的簡稱,中文含義為“JavaScript 對象表示法”,它是一種數(shù)據(jù)交換的文本格式,而不是一種編程
    的頭像 發(fā)表于 09-25 16:14 ?2166次閱讀
    <b class='flag-5'>JSON</b>協(xié)議是什么,物聯(lián)網(wǎng)中的RTU中如何使用<b class='flag-5'>JSON</b>協(xié)議和服務(wù)器交互