主頁 > 後端開發 > 2.1.5-3 回圈冗余校驗(CRC)碼

2.1.5-3 回圈冗余校驗(CRC)碼

2020-11-03 02:10:36 後端開發

想必是雪乞春華

(?????)☆萬圣節快樂?☆◥(?o₩o?)◤ 不給糖就搗蛋 ☆(●???●)沒錢(*^3^)/~☆

中午我們要學習最后一種校驗碼叫做回圈冗余校驗碼英文縮寫叫CrC碼,這給出了他的英文全稱,那這個小節中我們首先會介紹CrC碼的一個基本思想,然后介紹如何構造,還有如何使用,也就是如何檢錯和糾錯,那首先來看一下這種校驗碼的一個基本思想,我們從大家熟悉的實進制啊出發,假設現在你要給另一個人傳送882這樣的一個10進制資料,那為了防止傳送資料的程序中啊,某一個資料位發生錯誤,你可以和你的另一個小伙伴約定一個除數,比如說是7那882÷7剛好是除的進的,最后我們算得的余數應該是等于0那么當數劇的接收方姐收到資料的時候就可以用他接收到了這個資料,好,那么當資料的接收方接收到資料的時候,就可以用它接收到的這個資料和你們約定的這個除數進行一個除法操作檢查一下余數是否為零,如果余數不等于0,那么是不是就可以確定資料傳輸的程序中肯定是發生了錯誤,比如說啊,對方收到的其實是883,也就是最后一個數發生了錯誤,那883÷7,最后可以算的余數等于1不等于0,那么這就說明肯定是發生了錯誤,需要重新傳送,再比如說第2個資料位發生了錯誤,由8變成了5,那么除以7得到的余數是等于5,同樣這種情況也可以確定,我們的資料傳輸肯定出現了問題,那這是大家熟悉的時間之除法,我們通過約定一個除數,然后在接收到資料之后進行消除的操作,然后在接收到資料之后,與這個除數進行相除的操作檢查余數是否發生了改變,用這樣的方式就可以檢測出資料傳送的錯誤,那這個小節中我們要學習的回圈冗余校驗碼,和我們剛才說到的的實際是除法的例子,其實是類似的思想,就是資料的發送方和接收方會先約定一個除數,當然了我們處理的是計算機里邊的資料,所以這個除數肯定是一個二進制的除數,然后我們會想辦法在K個原始的資訊位后面加上R個校驗位,我們需要確保拼接上這R個校驗位之后,這一整串的資料和我們剛才約定的除數進行相除的操作,余數要等于0積聚的接收方接收到的資料之后需要用二進制除法來檢查余數是否定,假資料的接收方接收到這K加RV的資料之后,需要用二進制除法來檢查余數是否等于0,如果余數不等于0,那么就說明有一些二進制位出現了錯誤,那這種情況下我們就可以進行重傳,或者某些時候也可以進行單筆特位的糾錯,這個我們一會再展開好,總之這就是回圈冗余校驗碼的一個思想和大家熟悉的十進制處罰,其實是有某些聯系的,那剛才我們說過構建回圈冗余校驗碼需要有這樣的兩個關鍵的要素,一個是撤碩,一個是被除數,一般來說題目里會用這種生成多項式的方式給出除術,所以觀察這個生成多項式,我們可以把它寫成1×X的三次方加上一,二次方加上0×X的一次方,再加上1×X的0次方,那由于這個生成多項式里邊所有的這些項,它的系數要么為1,要么為0,因此我們可以把這個生成多項式轉換成對應的二進制數,那像這個GX我們可以轉換成1101就是和這些系數都是分別對應的,所以這兒給出的生成多項式,其實就是指明了我們的除數是多少好,接下來給出了K位的這個資訊嘛,這些資訊我們會把它放到高位的部分好,接下來我們需要確定校驗位的位數R應該等于多少,那么確定的方法是這樣的,R應該是等于它給出的生成多項式的最高次冪像這個式子當中最高的三次方所以我們最侄訓平街上三味的校驗位,等于它給出的生成多項式的最高次冪,像這個式子當中最高次冪是X的三次方,所以我們最侄訓拼接上三位的校驗位,現在大家先不要糾結為什么校驗位的位數啊等于3,我們先往后看會更容易理解,那由于資訊嘛有6位,然后剛才我們推出校驗位有三位,所以最終我們生成的CrC校驗碼總共應該是6+3=9倍,另外之前我們說過這個生成多項式,它對應了一串二進制碼,總共是4個位元好,還記不記得之前說的思路,我們會在這6位的資訊位后面加上三個校驗位,并且我們需要保證我們添加了這三位校驗位之后我們的校驗碼這個to余數等于零因此結下我們需要確定的,而除數要等于0,因此接下來我們需要確定的是,我們添加的這三位校驗位應該是多少,才能保證余數為0,那做法是這樣的,我們會把資訊嘛左移二位也就是左移三位,這是計算機硬體的處理方式,但我們手動做題的話,其實很簡單,就是在這6個資訊為后面補上二個也就是補上三個0,接下來我們會用這個數和除數進行相除的操作,那這個除法運算會讓我們得到三位,也就是RV的余數,不過這個地方我們需要進行的是摩爾除的運算,和我們普通的除法是有一些區別的,好來看一下這種特殊的除法摩爾除是怎么進行的,首先由于除數有4位,所以我們會取被除數度的高4位與他先商一次磨刀霍霍,除法摩爾除是怎么進行的,首先由于除數有4位,所以我們會取被除數部的高4位與他先傷一次,摩爾櫥里邊取商的方式比較特別,我們只看當前我們劃出來的最高位,如果它是1,那么我們就商1那1×10 0 1=1001,我們把它填到下面,接下來我們會對后三位進行摩二減的運算,其實摩爾減的效果和摩爾加是相同的,還記得嗎?摩爾加其實就是異或運算,所以事實上我們就是對后邊的三位進行了抑或運算,接下來看0和11或等于11和01或=10和1億或同樣等于1,因此后邊三位進行無二階或者說分別進行抑或得到的結果是111有點類似于十進制的處罰,分別進行抑或得到的結果是111好,那接下來有點類似于10進制的除法,我們把被除數的后面一位啊補到剛才得到的這個余數的低位,也就是這個樣子,好,接下來我們要確定下一位的首章,那和之前一樣,我們只看最高位,如果最高位為1的話,那我們就商一同樣的1×1101得到1101,接下來我們需要對后面的三位進行一次模2減的運算,那一盒一進行模二件就相當于他們倆進行了一次異或等于01和01或=10和11或=1所以這是一位現在由于高位為零所以接下來我們應該上林那么應該是等于四個零所以我們在,2級訓者說異或的運算得到三個1,現在由于高位是1,所以下一個商我們應該商一得到1101后三位進行,摩2減得到011再補一個0,現在由于高位是0,所以我們需要傷伶,因此接下來需要減0000啊,好颯未進行模2減得到110,好最后還剩一位,我們再把它補上去,由于此時高位為1,所以我們要商議,那么和1101的后三位進行摩二鍵得到的結果是001,那玲玲依舊是我們剛才的這一串代碼和1101進行模2除得到的一個余數除了規則最終得到的余數衛戍應該只比這個少一位那我們用這些操作得到就是我們的,我們的校驗位,所以最終我們得到的CrC校驗碼就應該是前6個資訊位在拼上最后的校驗位001這就是叫驗肺的一個確定方式,用這種方法是確定的校驗碼和1101進行模2,除得到的余數一定是000,好,現在我們已經有了校驗碼,那么我們就可以把這一整串的資訊進行傳輸發送,串的資訊進行傳輸發送那接收方接收到資料之后,就需要進行檢錯和糾錯,注意發送方和接收方提前已經約定好了這個啊,生成多項式或者說約定好了除數,那么當接收方接收到資料之后,就可以用接收到的這一串資訊和剛才約定好的這個除數進行模二除的運算,如果最終得到的余數是000,那么就代表沒有出錯來試一下進行摩爾圖娜,由于高位是1,所以商1的1101,然后后三位進行模2減應該是111啊,這兒補一個0,接下來商議1101后三位進行,摩爾姐應該是0151啊,接下來再補一個1,由于最高位是0,所以商0四個零后三位進行模二減幺幺幺接下來,1101最終得到的余數就應該是000,如果要類比10進制的除法,就相當于剛好除了進沒有余數,那這種情況下就表示沒有出錯,再看另一種情況,如果說倒數第2位出現了錯誤,那么和1101進行模,2除余數應該是等于010,好為了讓大家熟悉摩爾儲運,算我們還是啊動手來算一遍,二位也就是C2這一位如果發生了錯誤的話,那么我們最終得到的余數應該是010這里大家會發現一個巧合,我們得到的這個余數,如果把它翻譯成10進制的話,剛好就是二對吧,而出錯的位置剛好也是C2這個位置,但是其實這個余數和出錯位置之間并沒有這樣必然的聯系,所以這個地方我把劃了一條橫線啊,這句話既對也不對,為什么這么說呢?這地方我把原始的這一串資料,各個位置啊進行了一個改變,如果出錯為在第1位的話,那么和這個生成多項式進行模2,除得到的余數是001,如果出錯的位置是第2位,就是剛才那個例子那得到榆樹市零一零如果出錯的位置是第三位得道于樹是幺零零一看如果把幺零零三億成十進制的話應該是,等于4對吧?所以這個余數的值和出錯位置之間,其實并不是二進制到十進制呃,一轉換這么簡單,但是這余數和出錯位置確實又有對應關系,那細心的同學會發現我們這兒的余數只有三個位元的資訊,而三個位元的資訊總共只能表示2的三次方,也就是8種狀態,如果余數等于三個0,那么表示這個資料的傳輸是正確的,接下來出錯位為1234567,這幾種狀況分別會對應不同的余數,那這7種余數再加上000,是不是已經把三個位元能夠表示的資訊都表示了,所以我們再看如果第8位出錯的話,余數又會等于零零一如果是第九位出色的話語術you等于零一零也就相當于這個語速又重頭來了一,又會等于001,然后如果是第9位出錯的話,余數又等于010也就相當于這個余數又從頭來了一遍,第1個是001,第2個是010,所以上一頁PPT中余數等于010,就可以確定是第2位出錯了嗎?這個結論顯然是站不住腳的,因為如果第9位出錯也有可能會導致余數變為010,因此剛才那句話我們畫了一條橫線表示它并不嚴謹,并不正確,那既然如此,是不是意味著回圈冗余校驗碼它只有減錯的能力而沒有糾錯的能力,也就是無法確定出錯的位置在哪呢這種理解也不全對像剛才這個弟子當中由于我們總共有九個we只有三位的資訊三位的資訊最多只能表示無法完全的標注出這樣這種理解也不全對像剛才這個弟子當中由于我們總共有九個we只有三位的資訊三位的資訊最多只能表示無法完全的標注出這九,錯誤,所以并不是回圈冗余校驗碼沒有糾錯的能力,而是這個例子當中資訊為太長了,所以我們再看另一個例子,如果資訊為只有4類,然后生成多項式和之前是一樣的啊,1101,那首先我們在資訊位后邊補三個0,然后用這一整串對1101進行模二除運算得到余數011,所以最終得到CrC嘛,就應該是這4個資訊位在拼接上011這三個校驗位好,接下來如果這串資料傳輸程序中沒有任何一位發生錯誤,那顯然余數應該是等于0,而如果第1位發生錯誤,那余數是001,如果是第2位發生錯誤,余數是010,第3位是100,然后第4位第5位大家自己看,細心的同學會發現余數和出處位置之間的關系與上一個例子并沒有,余數和出錯位置之間的這個對應關系與上一個例子當中并沒有發生任何改變,上個例子當中,余數為001同樣出錯位是1010,同樣出錯位是2,然后100同樣出錯位是3,后續的也是一樣的,所以這也就意味著,只要我們確定了一個生成多項式,那么無論我們的資訊位如何變化,最終這個余數的值和出錯位置之間肯定都是一種固定不變的對應關系,而如果資料的位數并沒有超過余數所能表示的這個范圍,那么余數和出錯位之間就是一一對應的關系,在這個例子當中,如果余數不等于010,那我們就可以確定出錯位,一定是第2位,于是我們只需要糾正第2位就可以了所以回圈冗余校驗碼其實是有錯功能的只不過資訊為的衛戍部隊所以回圈冗余校驗碼其實是有錯功能的只不過資訊為的衛戍不能,太多那到底要多少個資訊費才不算多呢,這給出的這個不等式其實和上個小節當中還明碼的不等式是很類似的,我們有R個就因為就意味著最終我們會得到RV的余數,而這么多未得于數可以表示2的二次方,這么多種狀態,其中有一種狀態也就是余數為0,00這種狀態是對應正確的狀態,然后剩下的2a減1這么多種狀態需要分別對應上K加R,這么多為每一個未出現錯誤的那種情況,需要進行一個11的對應,所以如果能夠滿足2打二次方,大于等于K+2+1,那么CrC就業嘛,就擁有可以糾正一位錯誤的能力,不過在實際應用當中,CrC嘛,這種方式通常用于計算機網路的資料傳輸通常會把幾千個位元的資訊為加上幾個,過的資料傳輸通常會把幾千個位元的資訊位加上幾個交煙位,所以在實際使用當中,這種交樣碼通常只會用來檢錯,而不會用于糾錯,只不過大家也需要知道,它實際上是有糾錯能力的,理論上這種校驗碼它可以檢測出所有的基數各的錯誤,同時可以檢測出所有的雙位元錯誤,另外它可以檢測出小于等于校驗位長度,也就是小于等于RV的連續的錯誤,這是這種交易碼的一個檢測能力,那這一頁的知識大家能有一個簡要的了解就可以好,那這個小結當中我們學習了回圈冗余校驗碼,又叫CrC碼那考試中一般會給大家一個深沉多項式確定的資訊為大家需要通過這兩個處得到的余數也就是二位的校驗碼然后和資訊未進行接得到最終的一個叫夜盲,那考試中一般會給大家一個生成多項式然,然后給出確定的K個資訊位,大家需要通過這兩個初始條件得到RV的余數,也就是RV的校驗碼,然后和K的資訊位進行一個拼接,得到最終的一個校驗碼,二位的校驗碼,然后和K個資訊唄,進行一個拼接,得到最終的一個校驗碼,當接收方接收到資料之后,需要和這個生成多項式進行一個摩爾除的運算,來檢查余數是否為0,如果余數為0,那么說明沒有錯誤,如果余數非零,那么就說明有錯誤,這姐姐最后我們也探討了CrC碼的一個檢錯和糾錯能力,有不少教材會說CrC碼沒有糾錯能力,但是這種理解是錯誤的,只要資訊位的位數和校驗位的位數足夠合理,不超過某一種特定的范圍界限,那么CrC碼就可以糾正單位元的錯誤,因為我們得到的余數和出錯位置之間是有一一對應的關系的,那這種對應關系只要我們確定了生成多項式,其實就很好確定那這個小杰的那個同樣是祭祖也是g網查東西所以大家也需要重視的,大家也需要重視,當然最重要的是要自己嘗試著動手做一下題,熟悉所謂的摩爾除的運算好的,那以上就是這個小學的全部內容,最后再給大家分享一個有意思的東西來解釋一下,為什么這種校驗碼叫做回圈冗余校驗碼,我們剛才說過,如果出錯位,呃是在第1個位置,那么得到的余數是001,好,現在我們嘗試著001的后面給他添一個0,然后對這個生成多項式進行摩爾圖的運算生成多項式是1101進行模二除,那么應該商0等于4個0號后三位進行模,二件應該是010,有沒有發現這就是出錯為為第2個位置的時候的榆樹好繼續再來,沒為補一個0然后由于首位是琳琳進行,再在末尾補一個0,然后由于首位是0,因此我們需要雙零進行模2-=100和出錯位置為3的,這個余數是相同的,繼續再添一個0,接下來我們應該傷1=1101或3M2-=101和這是一樣的,那用剛才這種方法大家繼續往下算的話,會發現我們得到的三位余數永遠都是001,然后一路一直變到110110再回到001,如此回圈往復,所以為什么這種校驗碼叫回圈冗余校驗碼就是這個原因,剛才我們說的這些例子當中出錯位于8的時候啊,余數又回到了001為第9位的時候,回到了010也就是第2個位置,那如果資訊位更多一些,比如說有10位的話那么接下來一個語素肯定是幺零,這些東西很有意思,不過不是我們考試的重點,大家隨便一聽樂呵樂呵就行,6

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/200356.html

標籤:python

上一篇:武漢理工大學-并行計算-2020年期末復習指南

下一篇:網路基礎:TCP擁塞控制

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more