本發(fā)明涉及食品安全追溯及信息編碼
技術(shù)領(lǐng)域:
,特別涉及一種10位十進(jìn)制編碼轉(zhuǎn)化為可檢錯二進(jìn)制編碼的方法。
背景技術(shù):
:信息編碼技術(shù)是數(shù)據(jù)傳輸、圖形表示和信息表示的基礎(chǔ)。如何高效的對信息進(jìn)行編碼、如何保證在可能出現(xiàn)錯誤的環(huán)境中可以完整準(zhǔn)確地恢復(fù)信息,就成為編碼技術(shù)中重要的研究和技術(shù)實(shí)現(xiàn)要素:之一。在物聯(lián)網(wǎng)環(huán)境中,編碼(或者編號)是物品接入網(wǎng)絡(luò)環(huán)境的關(guān)鍵技術(shù)。特別是在食品安全追溯領(lǐng)域,10位十進(jìn)制編碼代表了包裝箱級別的物流單元和追溯單元。如何高效、完整、準(zhǔn)確的對其進(jìn)行編碼表示對于該平臺的建設(shè)和推廣具有核心的重要意義。
發(fā)明內(nèi)容本發(fā)明的目的旨在至少解決所述技術(shù)缺陷之一。為此,本發(fā)明的目的在于提出一種10位十進(jìn)制編碼轉(zhuǎn)化為可檢錯二進(jìn)制編碼的方法,可以形成可以充分滿足高效編碼與數(shù)據(jù)檢錯功能的二進(jìn)制編碼,保證數(shù)據(jù)傳輸、數(shù)據(jù)打包、數(shù)據(jù)表示過程中數(shù)據(jù)的完整性和正確性。為了實(shí)現(xiàn)上述目的,本發(fā)明的實(shí)施例提供一種10位十進(jìn)制編碼轉(zhuǎn)化為可檢錯二進(jìn)制編碼的方法,包括如下步驟:步驟S1,將原始的10位十進(jìn)制序列轉(zhuǎn)換為32位二進(jìn)制位流序列;步驟S2,將所述步驟S1中得到的32位二進(jìn)制位流序列進(jìn)行分塊處理;步驟S3,計算所述步驟S2中的每個分塊的奇數(shù)位置和偶數(shù)位置的校驗(yàn)位;步驟S4,計算所述步驟S1中的32位二進(jìn)制位流序列的10位位流校驗(yàn)位,其中,所述10位位流校驗(yàn)位包括:4位奇數(shù)校驗(yàn)位、4位偶數(shù)校驗(yàn)位和2位總校驗(yàn)位;步驟S5,將所述步驟S3得到的每個分塊的奇數(shù)位置和偶數(shù)位置的校驗(yàn)位,添加至相應(yīng)分塊的末尾,以得到新的二進(jìn)制分塊,并將步驟S4得到的10位位流校驗(yàn)位按預(yù)設(shè)順序進(jìn)行組合,形成位流校驗(yàn)位序列;步驟S6,將所述步驟S5得到的多個新的二進(jìn)制分塊依據(jù)順序進(jìn)行組合,并在組合序列的末尾添加所述位流校驗(yàn)位序列,得到最終的可檢錯的二進(jìn)制編碼序列。進(jìn)一步,所述步驟S1,包括如下步驟:將原始的10位十進(jìn)制編碼采用下述公式轉(zhuǎn)換為初始32位二進(jìn)制位流序列,d1d2…d10=b1231+b2230+…+b312+b32,其中,d1d2…d10為原始的10位十進(jìn)制序列,b1b2…b31b32為初始32位二進(jìn)制位流序列;然后,將上述初始32位二進(jìn)制位流序列中的每一位取反,得到最終的32位二進(jìn)制位流序列c1c2…c31c32,其中,ci=~bi,i=1,…,32,~為邏輯反操作。進(jìn)一步,在所述步驟S2中,將最終得到的32位二進(jìn)制位流序列按照每8位一個分塊的方式,共劃分為4個分塊。進(jìn)一步,所述步驟S3中,對每個分塊中的奇數(shù)位置的二進(jìn)制數(shù)據(jù)依次采用異或操作,得到奇數(shù)位置的校驗(yàn)位vi,其中,i為分塊編號;對每個分塊中的偶數(shù)位置的二進(jìn)制數(shù)據(jù)依次采用異或操作,得到偶數(shù)位置的校驗(yàn)位wi,其中,i為分塊編號。進(jìn)一步,在所述步驟S4中,采用下式計算4位奇數(shù)校驗(yàn)位Vi,i∈{1,2,3,4}),V1=~(c1XORc9XORc17XORc25)V2=~(c3XORc11XORc19XORc27)V3=~(c5XORc13XORc21XORc29)V4=~(c7XORc15XORc23XORc31);采用下式計算4位偶數(shù)校驗(yàn)位Wi,i∈{1,2,3,4}),W1=~(c2XORc10XORc18XORc26)W2=~(c4XORc12XORc20XORc28)W3=~(c6XORc14XORc22XORc30)W4=~(c8XORc16XORc24XORc32)。進(jìn)一步,計算2位總校驗(yàn)位包括:進(jìn)一步,在所述步驟S5中,將所述10位位流校驗(yàn)位按照如下預(yù)設(shè)順序進(jìn)行組合,形成位流校驗(yàn)位序列:根據(jù)本發(fā)明實(shí)施例的10位十進(jìn)制編碼轉(zhuǎn)化為可檢錯二進(jìn)制編碼的方法,通過將10位編碼轉(zhuǎn)換為二進(jìn)制位流序列,通過對位流序列進(jìn)行分塊,并構(gòu)造校驗(yàn)位,然后在這個序列之中以及這個序列之后添加校驗(yàn)位,進(jìn)行位流重組形成新的二進(jìn)制編碼序列,形成可以充分滿足高效編碼與數(shù)據(jù)檢錯功能的二進(jìn)制編碼,保證數(shù)據(jù)傳輸、數(shù)據(jù)打包、數(shù)據(jù)表示過程中數(shù)據(jù)的完整性和正確性。將本發(fā)明的編碼技術(shù)與其他識別技術(shù)相結(jié)合,保證數(shù)據(jù)可以被正確、完整解譯出來。本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。附圖說明本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:圖1為根據(jù)本發(fā)明實(shí)施例的10位十進(jìn)制編碼轉(zhuǎn)化為可檢錯二進(jìn)制編碼的方法的流程圖;圖2為根據(jù)本發(fā)明實(shí)施例的分塊處理的示意圖;圖3為根據(jù)本發(fā)明實(shí)施例的添加校驗(yàn)位的示意圖;圖4為根據(jù)本發(fā)明實(shí)施例的位流校驗(yàn)位序列的示意圖。具體實(shí)施方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。在物聯(lián)網(wǎng)環(huán)境中,編碼(或者編號)是物品接入網(wǎng)絡(luò)環(huán)境的關(guān)鍵技術(shù)。特別是在食品安全追溯領(lǐng)域,十進(jìn)制編碼得到了廣泛的使用,通過在食品包裝上設(shè)置十進(jìn)制編碼信息,實(shí)現(xiàn)對食品流通的追溯。由于,在近幾年的食品安全追溯應(yīng)用中10位十進(jìn)制編碼得到了廣泛的應(yīng)用,為此,本發(fā)明提出一種10位十進(jìn)制編碼轉(zhuǎn)化為可檢錯二進(jìn)制編碼的方法,可以提供一種具有檢錯功能的二進(jìn)制編碼方式。如圖1所示,本發(fā)明實(shí)施例的10位十進(jìn)制編碼轉(zhuǎn)化為可檢錯二進(jìn)制編碼的方法,步驟S1,將原始的10位十進(jìn)制序列轉(zhuǎn)換為32位二進(jìn)制位流序列。具體地,將原始的10位十進(jìn)制編碼采用下述公式轉(zhuǎn)換為初始32位二進(jìn)制位流序列,d1d2…d10=b1231+b2230+…+b312+b32,(1)其中,d1d2…d10為原始的10位十進(jìn)制序列,b1b2…b31b32為初始32位二進(jìn)制位流序列。然后,將上述初始32位二進(jìn)制位流序列中的每一位取邏輯反,得到最終的32位二進(jìn)制位流序列c1c2…c31c32,其中,ci=~bi,(2)i=1,…,32,~為邏輯反操作,如表1所示。bi~bici011100表1步驟S2,將步驟S1中得到的32位二進(jìn)制位流序列進(jìn)行分塊處理。具體地,如圖2所示,將最終得到的32位二進(jìn)制位流序列按照每8位一個分塊的方式,共劃分為4個分塊。需要說明的是,分塊數(shù)量不限于4個,還可以為其他數(shù)量,不再贅述。下面步驟以4個分塊為例進(jìn)行說明。步驟S3,計算步驟S2中的每個分塊的奇數(shù)位置和偶數(shù)位置的校驗(yàn)位。首先,對獲得的每一個分塊14位二進(jìn)制序列,如表2所示,從第一位開始按照位置進(jìn)行編號:位置12345678分塊a1a2a3a4a5a6a7a8表2在本步驟中,對每個分塊中的奇數(shù)位置的二進(jìn)制數(shù)據(jù)依次采用異或操作,得到該分塊的奇數(shù)位置的校驗(yàn)位vi,其中,其中,i為分塊編號,i∈{1,2,3,4}。vi=a1XORa3XORa5XORa7,(3)其中,XOR是邏輯異或操作,如表3所示:abaXORb000011101110表3進(jìn)一步,對每個分塊中的偶數(shù)位置的二進(jìn)制數(shù)據(jù)依次采用異或操作,得到奇數(shù)位置的校驗(yàn)位wi,其中,i為分塊編號,i∈{1,2,3,4}。wi=a2XORa4XORa6XORa8,(4)表4示出了4個分塊的奇數(shù)校驗(yàn)位和偶數(shù)校驗(yàn)位:表4步驟S4,計算步驟S1中的32位二進(jìn)制位流序列的10位位流校驗(yàn)位,其中,10位位流校驗(yàn)位包括:4位奇數(shù)校驗(yàn)位、4位偶數(shù)校驗(yàn)位和2位總校驗(yàn)位。具體地,采用下式計算4位位流奇數(shù)校驗(yàn)位Vi,i∈{1,2,3,4}),V1=~(c1XORc9XORc17XORc25)V2=~(c3XORc11XORc19XORc27)V3=~(c5XORc13XORc21XORc29)V4=~(c7XORc15XORc23XORc31)(5)采用下式計算4位位流偶數(shù)校驗(yàn)位Wi,i∈{1,2,3,4}),W1=~(c2XORc10XORc18XORc26)W2=~(c4XORc12XORc20XORc28)W3=~(c6XORc14XORc22XORc30)W4=~(c8XORc16XORc24XORc32)(6)然后,根據(jù)步驟S1得到的二進(jìn)制位流所有位置的數(shù)據(jù),計算2位總校驗(yàn)位包括:步驟S5,將步驟S3得到的每個分塊的奇數(shù)位置和偶數(shù)位置的校驗(yàn)位,添加至相應(yīng)分塊的末尾,以得到新的二進(jìn)制分塊,并將步驟S4得到的10位位流校驗(yàn)位按預(yù)設(shè)順序進(jìn)行組合,形成位流校驗(yàn)位序列。參考圖3,對每個分塊的數(shù)據(jù)位的末尾,分別添加對應(yīng)的奇數(shù)位置校驗(yàn)位和偶數(shù)位置校驗(yàn)位,從而形成新的二進(jìn)制編碼分塊。此外,參考圖4,將10位位流校驗(yàn)位按照如下預(yù)設(shè)順序進(jìn)行組合,形成位流校驗(yàn)位序列:步驟S6,將步驟S5得到的多個新的二進(jìn)制分塊依據(jù)順序進(jìn)行組合,并在組合序列的末尾添加位流校驗(yàn)位序列,得到最終的可檢錯的二進(jìn)制編碼序列,如下所示。最終形成的二進(jìn)制編碼序列可用于存儲、傳輸或者表示。根據(jù)本發(fā)明實(shí)施例的10位十進(jìn)制編碼轉(zhuǎn)化為可檢錯二進(jìn)制編碼的方法,通過將10位編碼轉(zhuǎn)換為二進(jìn)制位流序列,通過對位流序列進(jìn)行分塊,并構(gòu)造校驗(yàn)位,然后在這個序列之中以及這個序列之后添加校驗(yàn)位,進(jìn)行位流重組形成新的二進(jìn)制編碼序列,形成可以充分滿足高效編碼與數(shù)據(jù)檢錯功能的二進(jìn)制編碼,保證數(shù)據(jù)傳輸、數(shù)據(jù)打包、數(shù)據(jù)表示過程中數(shù)據(jù)的完整性和正確性。將本發(fā)明的編碼技術(shù)與其他識別技術(shù)相結(jié)合,保證數(shù)據(jù)可以被正確、完整解譯出來。在本說明書的描述中,參考術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個或多個實(shí)施例或示例中以合適的方式結(jié)合。盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求極其等同限定。當(dāng)前第1頁1 2 3