專利名稱:用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a與解碼方法以及編碼與解碼系統(tǒng)的制作方法
領(lǐng)域本發(fā)明涉及一種字元編-解碼技術(shù),特別是涉及一種用于網(wǎng)絡(luò)傳輸?shù)淖?元編碼方法、字元解碼方法、字元編-解碼方法,及其編-解碼系統(tǒng)。
背景技術(shù):
因特網(wǎng)是目前一種非常普遍的通信技術(shù),對(duì)于在個(gè)人電腦上發(fā)展網(wǎng)絡(luò) 程序的程序?qū)懽魅藛T而言,利用作業(yè)系統(tǒng)所提供的應(yīng)用程序介面(Application Programming Interface, API ),可以將數(shù)據(jù)傳送到遠(yuǎn)端網(wǎng)絡(luò)節(jié)點(diǎn)。 例如,利用視窗(Windows)系列作業(yè)系統(tǒng)提供的視窗插槽軟件(Windows Socket,以下簡稱Winsock)函式庫,可以建立網(wǎng)絡(luò)節(jié)點(diǎn)間的連線,并借由 建立起的連線傳輸數(shù)據(jù)。即時(shí)通訊軟件(Instant Messenger,以下簡稱IM )是因特網(wǎng)的 一種應(yīng)用, 有些即時(shí)通訊軟件為了提升本身的功能性,會(huì)提供自己的函式庫供外掛程 序,這些函式庫在網(wǎng)絡(luò)方面的應(yīng)用程序介面雖然不若視窗插槽軟件函式庫 完整,但是,對(duì)網(wǎng)絡(luò)程序?qū)懽魃蠀s相對(duì)地簡單,可以不用知道因特網(wǎng)協(xié)定 (Internet Protocol, IP)位址,就能建立網(wǎng)絡(luò)節(jié)點(diǎn)之間的連線以傳輸數(shù)據(jù)。利用即時(shí)通訊軟件提供的函式庫傳輸數(shù)據(jù),常常會(huì)遭遇到以下問題 一般而言,使用者欲傳輸?shù)脑紨?shù)據(jù)多半是屬于完整字元集(Full Character Set),而即時(shí)通訊軟件的網(wǎng)絡(luò)應(yīng)用程序介面并不支援完整字元集的傳輸。以 Skype的網(wǎng)絡(luò)應(yīng)用程序介面為例,其傳輸數(shù)據(jù)的基本單位是位元組(Byte) 且傳輸數(shù)據(jù)中不能有'\0,字元,但是,位元組能表示的字元值是0到255, '\0, 字元的字元值是0,如此一來,當(dāng)遇到'\0,字元時(shí),傳輸便會(huì)發(fā)生問題。現(xiàn)有的解決方式,如Skype官方網(wǎng)站所建議,是將欲傳輸?shù)脑紨?shù)據(jù) 編碼成基于64 (Base64)的字元集,以使完整字元集的原始數(shù)據(jù)可經(jīng)由只 支援部分字元集(Non-flill Character Set)的網(wǎng)絡(luò)應(yīng)用程序介面進(jìn)行傳輸。 惟,此種編碼方式是將6個(gè)位元(Bit)編碼成1個(gè)位元組(共8個(gè)位元), 使得真正傳送的數(shù)據(jù)比原始數(shù)據(jù)多出了 1/3的數(shù)據(jù)量,對(duì)于影像電話或視訊 會(huì)議應(yīng)用中的視訊數(shù)據(jù)而言,會(huì)多出了太多的頻寬使用量。有鑒于上述現(xiàn)有的即時(shí)通訊軟件存在的缺陷,本發(fā)明人基于從事此類 產(chǎn)品設(shè)計(jì)制造多年豐富的實(shí)務(wù)經(jīng)驗(yàn)及專業(yè)知識(shí),并配合學(xué)理的運(yùn)用,積極 加以研究創(chuàng)新,以期創(chuàng)設(shè)一種新的用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a與解碼方法以 及編碼與解碼系統(tǒng),能夠改進(jìn)一般現(xiàn)有的即時(shí)通訊軟件,使其更具有實(shí)用 性。經(jīng)過不斷的研究、設(shè)計(jì),并經(jīng)反復(fù)試作及改進(jìn)后,終于創(chuàng)設(shè)出確具實(shí)用 價(jià)值的本發(fā)明。發(fā)明內(nèi)容本發(fā)明的目的在于,克服現(xiàn)有的即時(shí)通訊軟件存在的缺陷,而提供一 種新的用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a與解碼方法以及編碼與解碼系統(tǒng),所要解 決的技術(shù)問題是使其提供一種用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,從而更加適 于實(shí)用。本發(fā)明的另 一 目的在于,提供一種用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法。 本發(fā)明的又一目的在于,提供一種用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法。 本發(fā)明的再一目的在于,提供一種用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng)。 本發(fā)明的目的及解決其技術(shù)問題是采用以下技術(shù)方案來實(shí)現(xiàn)的。依據(jù) 本發(fā)明提出的一種用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,適用于一傳送端的一網(wǎng)絡(luò)應(yīng)用程序介面,該方法包含下列步驟(a)讀取一原始數(shù)據(jù)中至少一字 元,該字元的所屬類別為一第一類別及一第二類別其中一個(gè);(b)根據(jù)該 字元的所屬類別,自該原始數(shù)據(jù)中分割出一片段,該片段內(nèi)的所有字元屬 于同一類別;(c)當(dāng)該片段內(nèi)的字元的所屬類別為該第一類別時(shí),將該第 一類別及一原始數(shù)據(jù)結(jié)尾指示資訊編碼成一封包的一標(biāo)頭,將該片段內(nèi)的 字元編碼成該封包的一本體;及(d)當(dāng)該片段內(nèi)的字元的所屬類別為該第 二類別時(shí),將該第二類別及該原始數(shù)據(jù)結(jié)尾指示資訊編碼成該封包的標(biāo)頭, 將該片段內(nèi)的字元的一數(shù)目編碼成該封包的本體。本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進(jìn)一步實(shí)現(xiàn)。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,其中該第一類別是指該傳送端 的網(wǎng)絡(luò)應(yīng)用程序介面可以支援的字元,該第二類別是指該傳送端的網(wǎng)絡(luò)應(yīng) 用程序介面無法支援的字元。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,其中在該步驟(d)中,還將一 字元指示資訊編碼至該封包的標(biāo)頭,該字元指示資訊用以指出該片段內(nèi)的 字元為哪一個(gè)無法支援的字元。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,其中該方法還包含一步驟(e), 通過該網(wǎng)絡(luò)應(yīng)用程序介面依序傳送該封包。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,其中該方法還包含一步驟(f), 若該片段為該原始數(shù)據(jù)的結(jié)尾,則結(jié)束對(duì)該原始數(shù)據(jù)的編碼處理,否則,回到該步驟(a)。本發(fā)明的目的及解決其技術(shù)問題還采用以下技術(shù)方案來實(shí)現(xiàn)。依據(jù)本 發(fā)明提出的 一種用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法,適用于 一接收端的 一 網(wǎng)絡(luò)應(yīng)用程序介面,其特征在于該方法包含下列步驟(a) 接收一已編碼數(shù)據(jù)的一封包,該封包包括一標(biāo)頭及一本體;(b) 解碼該封包的標(biāo)頭以得知其內(nèi)容所屬類別,以及該封包是否已為 該已編碼數(shù)據(jù)的最后一個(gè)封包;(c) 當(dāng)該封包的內(nèi)容所屬類別為一第一類別時(shí),自該本體解碼出至少 一屬于該第一類別的字元;及(d) 當(dāng)該封包的內(nèi)容所屬類別為一第二類別時(shí),自該本體解碼出屬于 該第二類別的字元的一數(shù)目。本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進(jìn)一步實(shí)現(xiàn)。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法,其中該第一類別是指該接收端 的網(wǎng)絡(luò)應(yīng)用程序介面可以支援的字元,該第二類別是指該接收端的網(wǎng)絡(luò)應(yīng) 用程序介面無法支4爰的字元。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法,其中在該步驟(d)中,還自該 封包的標(biāo)頭解碼出一字元指示資訊,該字元指示資訊用以指出其內(nèi)容實(shí)際 上為哪一個(gè)無法支援的字元。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法,其中該步驟(a)是通過該網(wǎng)絡(luò) 應(yīng)用程序介面依序接收該封包。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法,其中該方法還包含一步驟(e), 若該封包已為該已編碼數(shù)據(jù)的最后一個(gè)封包,則結(jié)束對(duì)該已編碼數(shù)據(jù)的解 碼處理,否則,回到該步驟(a )。本發(fā)明的目的及解決其技術(shù)問題另外還采用以下技術(shù)方案來實(shí)現(xiàn)。依 據(jù)本發(fā)明提出的一種用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,該方法包含于一 傳送端執(zhí)行的一編碼處理程序,及于一接收端執(zhí)行的一解碼處理程序;該 編碼處理程序包括下列步驟(a)讀取一原始數(shù)據(jù)中至少一字元,該字元 的所屬類別為一第一類別及一第二類別其中一個(gè);(b)根據(jù)該字元的所屬 類別,自該原始數(shù)據(jù)中分割出一片段,該片段內(nèi)的所有字元屬于同一類別 ;(c)當(dāng)該片^L內(nèi)的字元的所屬類別為該第一類別時(shí),將該第一類別及一 原始數(shù)據(jù)結(jié)尾指示資訊編碼成一封包的一標(biāo)頭,將該片段內(nèi)的字元編碼成 該封包的一本體;及(d)當(dāng)該片段內(nèi)的字元的所屬類別為該第二類別時(shí), 將該第二類別及該原始數(shù)據(jù)結(jié)尾指示資訊編碼成該封包的標(biāo)頭,將該片段 內(nèi)的字元的一數(shù)目編碼成該封包的本體;(e)將該封包通過該傳送端的一 網(wǎng)絡(luò)應(yīng)用程序介面依序傳送至該接收端;該解碼處理程序包括下列步驟 (f)通過該接收端的一網(wǎng)絡(luò)應(yīng)用程序介面依序接收該封包;(g)解碼該封8包的標(biāo)頭以得知其內(nèi)容所屬類別,以及該封包是否已為最后一個(gè)封包;(h) 當(dāng)該封包的內(nèi)容所屬類別為該第 一類別時(shí),自該本體解碼出屬于該第 一類 別的字元;及(i)當(dāng)該封包的內(nèi)容所屬類別為該第二類別時(shí),自該本體解 碼出屬于該第二類別的字元的數(shù)目。本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進(jìn)一步實(shí)現(xiàn)。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,其中該第 一類別是指該傳送 端的網(wǎng)絡(luò)應(yīng)用程序介面,及該接收端的網(wǎng)絡(luò)應(yīng)用程序介面皆可以支援的字 元,該第二類別是指該傳送端的網(wǎng)絡(luò)應(yīng)用程序介面,及該接收端的網(wǎng)絡(luò)應(yīng) 用程序介面其中至少一個(gè)無法支援的字元。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,其中在該步驟(d)中,還將 一字元指示資訊編碼至該封包的標(biāo)頭,該字元指示資訊用以指出該片段內(nèi) 的字元為哪一個(gè)無法支援的字元。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,其中該編碼處理程序還包括 一步驟(j),若該片段為該原始數(shù)據(jù)的結(jié)尾,則結(jié)束對(duì)該原始數(shù)據(jù)的編碼處理,否則,回到該步-腺(a)。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,其中在該步驟(i)中,還自 該封包的標(biāo)頭解碼出一字元指示資訊,該字元指示資訊用以指出其內(nèi)容實(shí) 際上為哪一個(gè)無法支援的字元。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,其中該解碼處理程序還包括 一步驟(k),若該封包已為最后一個(gè)封包,則結(jié)束該接收端的解碼處理, 否則,回到該步驟(f)。本發(fā)明的目的及解決其技術(shù)問題另外再采用以下技術(shù)方案來實(shí)現(xiàn)。依 據(jù)本發(fā)明提出的一種用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其包含 一編碼單 元,位于一傳送端,該編碼單元包括一片段選取模塊,及一封包編碼模塊, 該片段選取模塊用以根據(jù)一原始數(shù)據(jù)中至少 一字元的所屬類別,自該原始 數(shù)據(jù)分割出一片段,該字元的所屬類別為一第一類別及一第二類別其中一 個(gè),且該片段內(nèi)的所有字元屬于同一類別,該封包編碼模塊用以將該片段 編碼成一封包,該封包包括一標(biāo)頭及一本體,該標(biāo)頭具有一所屬類別資訊, 及一原始數(shù)據(jù)結(jié)尾指示資訊,若該片段內(nèi)的字元屬于該第一類別,則該本 體具有該片段內(nèi)的字元,若該片段內(nèi)的字元屬于該第二類別,則該本體具 有該片段內(nèi)的字元的一數(shù)目。本發(fā)明的目的及解決其技術(shù)問題還可采用以下技術(shù)措施進(jìn)一步實(shí)現(xiàn)。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其中該系統(tǒng)還包含一解碼單 元,位于一接收端,該解碼單元包括一封包解碼對(duì)莫塊,用以解碼該封包的 標(biāo)頭,以得知其內(nèi)容所屬類別,以及該封包是否已為最后一個(gè)封包。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其中該第 一類別是指該傳送端的 一 網(wǎng)絡(luò)應(yīng)用程序介面,及該接收端的 一 網(wǎng)絡(luò)應(yīng)用程序介面皆可以支援 的字元,該第二類別是指該傳送端的網(wǎng)絡(luò)應(yīng)用程序介面,及該接收端的網(wǎng) 絡(luò)應(yīng)用程序介面其中至少一個(gè)無法支援的字元。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其中若該封包編碼模塊所編 碼的該片段內(nèi)的字元屬于該第二類別,則該標(biāo)頭還具有一字元指示資訊, 該字元指示資訊用以指出該片段內(nèi)的字元為哪一個(gè)無法支援的字元。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其中若該封包解碼模塊解碼 出的標(biāo)頭指出該封包的內(nèi)容屬于該第二類別,則該封包解碼模塊還用以由 該標(biāo)頭解碼出一字元指示資訊,該字元指示資訊用以指出其內(nèi)容實(shí)際上為 哪一個(gè)無法支援的字元。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其中該編碼單元還包括一判斷模塊,用以進(jìn)行以下判斷若該片段為該原始數(shù)據(jù)的結(jié)尾,則結(jié)束該傳 送端的編碼處理。前述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其中該解碼單元還包括一判 斷模塊,用以進(jìn)行以下判斷若該封包已為最后一個(gè)封包,則結(jié)束該接收 端的解碼處理。本發(fā)明與現(xiàn)有^^支術(shù)相比具有明顯的優(yōu)點(diǎn)和有益效果。由以上可知,為了 達(dá)到上述目的,本發(fā)明提供了一種用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,適用于 一傳送端的一網(wǎng)絡(luò)應(yīng)用程序介面,該方法包含下列步驟(a)讀取一原始 數(shù)據(jù)中至少一字元,該字元的所屬類別為一第一類別及一第二類別其中一 個(gè);(b)根據(jù)該字元的所屬類別,自該原始數(shù)據(jù)中分割出一片段,該片段 內(nèi)的所有字元屬于同一類別;(c)當(dāng)該片段內(nèi)的字元的所屬類別為該第一 類別時(shí),將該第 一類別及一原始數(shù)據(jù)結(jié)尾指示資訊編碼成一封包的一標(biāo)頭, 將該片段內(nèi)的字元編碼成該封包的一本體;及(d)當(dāng)該片段內(nèi)的字元的所 屬類別為該第二類別時(shí),將該第二類別及該原始數(shù)據(jù)結(jié)尾指示資訊編碼成 該封包的標(biāo)頭,將該片段內(nèi)的字元的 一數(shù)目編碼成該封包的本體。本發(fā)明用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法,適用于 一接收端的 一 網(wǎng)絡(luò)應(yīng)用 程序介面,該方法包含下列步驟(a)接收一已編碼數(shù)據(jù)的一封包,該封 包包括一標(biāo)頭及一本體;(b)解碼該封包的標(biāo)頭以得知其內(nèi)容所屬類別, 以及該封包是否已為該已編碼數(shù)據(jù)的最后一個(gè)封包;(c)當(dāng)該封包的內(nèi)容 所屬類別為一第一類別時(shí),自該本體解碼出至少一屬于該第一類別的字元 ;及(d)當(dāng)該封包的內(nèi)容所屬類別為一第二類別時(shí),自該本體解碼出屬于 該第二類別的字元的一數(shù)目。本發(fā)明用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法包含于一傳送端執(zhí)行的一編 碼處理程序,及于一接收端執(zhí)行的一解碼處理程序。該編碼處理程序包括下列步驟(a)讀取一原始數(shù)據(jù)中至少一字元,10該字元的所屬類別為一第一類別及一第二類別其中一個(gè);(b)根據(jù)該字元 的所屬類別,自該原始數(shù)據(jù)中分割出一片段,該片段內(nèi)的所有字元屬于同 一類別;(c)當(dāng)該片段內(nèi)的字元的所屬類別為該第一類別時(shí),將該第一類 別及一原始數(shù)據(jù)結(jié)尾指示資訊編碼成一封包的一標(biāo)頭,將該片段內(nèi)的字元 編碼成該封包的一本體;及(d)當(dāng)該片段內(nèi)的字元的所屬類別為該第二類 別時(shí),將該第二類別及該原始數(shù)據(jù)結(jié)尾指示資訊編碼成該封包的標(biāo)頭,將 該片段內(nèi)的字元的一數(shù)目編碼成該封包的本體;及(e)將該封包通過該傳 送端的 一 網(wǎng)絡(luò)應(yīng)用程序介面依序傳送至該接收端。該解碼處理程序包括下列步驟(f )通過該接收端的一網(wǎng)絡(luò)應(yīng)用程序介 面依序接收該封包;(g)解碼該封包的標(biāo)頭以得知其內(nèi)容所屬類別,以及 該封包是否已為最后一個(gè)封包;(h)當(dāng)該封包的內(nèi)容所屬類別為該第一類 別時(shí),自該本體解碼出屬于該第一類別的字元;及(i)當(dāng)該封包的內(nèi)容所 屬類別為該第二類別時(shí),自該本體解碼出屬于該第二類別的字元的數(shù)目。本發(fā)明用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng)包含位于一傳送端的 一編碼單 元,該編碼單元包括一片段選取模塊,及一封包編碼模塊。該片段選取模 塊用以根據(jù)一原始數(shù)據(jù)中至少一字元的所屬類別,自該原始數(shù)據(jù)分割出一 片段,該字元的所屬類別為一第一類別及一第二類別其中一個(gè),且該片段 內(nèi)的所有字元屬于同一類別。該封包編碼模塊用以將該片段編碼成一封包, 該封包包括一標(biāo)頭及一本體,該標(biāo)頭具有一所屬類別資訊,及一原始數(shù)據(jù) 結(jié)尾指示資訊,若該片段內(nèi)的字元屬于該第一類別,則該本體具有該片段 內(nèi)的字元,若該片段內(nèi)的字元屬于該第二類別,則該本體具有該片段內(nèi)的 字元的一數(shù)目。借由上述技術(shù)方案,本發(fā)明用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a與解碼方法以及 編碼與解碼系統(tǒng)至少具有下列優(yōu)點(diǎn)本發(fā)明的有益效果在于借由該編碼單元使得完整字元集的原始數(shù)據(jù) 可經(jīng)由只支援部分字元集的網(wǎng)絡(luò)應(yīng)用程序介面進(jìn)行傳輸,并降低傳輸?shù)睦?贅數(shù)據(jù)量,的確可以達(dá)成本發(fā)明的目的。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的 技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和 其他目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉較佳實(shí)施例,并配合附 圖,詳細(xì)i兌明如下。
圖l是一方塊圖,說明本發(fā)明用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng)的較佳實(shí)施例;圖2是一流程圖,說明本發(fā)明用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法的較佳實(shí)施例;圖3是一流程圖,說明本發(fā)明用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法的較佳實(shí) 施例;圖4是一示意圖,說明應(yīng)用本發(fā)明用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法的范例。
具體實(shí)施方式
為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定發(fā)明目的所釆取的技術(shù)手段及功 效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)依據(jù)本發(fā)明提出的用于網(wǎng)絡(luò)傳輸?shù)淖衷?編碼與解碼方法以及編碼與解碼系統(tǒng)其具體實(shí)施方式
、方法、步驟、特征 及其功效,詳細(xì)說明如后。請(qǐng)參閱圖1所示,本發(fā)明用于網(wǎng)絡(luò)傳輸?shù)淖衷?Character)編-解碼系 統(tǒng)的較佳實(shí)施例包含位于一傳送端的一編碼單元1,以及位于一接收端的一 解碼單元2。該編碼單元1包括一片段(Section)選取模塊11、 一封包 (Package)編碼模塊12,及一判斷模塊13。該解碼單元2包括一封包解碼 模塊21,及一判斷模塊22。該片段選取模塊11用以根據(jù)一原始數(shù)據(jù)中至少一字元的所屬類別,自 該原始數(shù)據(jù)分割出一片段;該字元的所屬類別為一第一類別及一第二類別 其中一個(gè),且該片段內(nèi)的所有字元屬于同一類別。該封包編碼模塊12用以 將該片段編碼成一封包;該封包包括一標(biāo)頭(Header)及一本體(Body), 該標(biāo)頭具有一所屬類別資訊,及一原始數(shù)據(jù)結(jié)尾指示資訊;若該片段內(nèi)的 字元屬于該第一類別,則該本體具有該片段內(nèi)的字元,若該片段內(nèi)的字元 屬于該第二類別,則該本體具有該片段內(nèi)的字元的一數(shù)目。該判斷模塊13 用以進(jìn)行以下判斷若該片段為該原始數(shù)據(jù)的結(jié)尾,則結(jié)束該傳送端的編 碼處理。該封包解碼^t塊21用以解碼該封包的標(biāo)頭,以得知其內(nèi)容所屬的類別, 以及該封包是否已為最后一個(gè)封包。該判斷模塊22用以進(jìn)行以下判斷若 該封包已為最后一個(gè)封包,則結(jié)束該接收端的解碼處理。本發(fā)明的編碼單元1及解碼單元2的實(shí)施態(tài)樣為軟件應(yīng)用程序,可分 別安裝于該傳送端及該接收端;且,在本較佳實(shí)施例中,該第一類別是指 該傳送端的一網(wǎng)絡(luò)應(yīng)用程序介面3,及該4妻收端的一網(wǎng)絡(luò)應(yīng)用程序介面4皆 可以支援的字元,該第二類別是指該傳送端的網(wǎng)絡(luò)應(yīng)用程序介面3,及該接 收端的網(wǎng)絡(luò)應(yīng)用程序介面4其中至少一個(gè)無法支援的字元。請(qǐng)參閱圖1、圖2與圖4所示,對(duì)應(yīng)上述較佳實(shí)施例,本發(fā)明用于網(wǎng)絡(luò) 傳輸?shù)淖衷?解碼方法的較佳實(shí)施例包含于該傳送端由該編碼單元1所執(zhí) 行的一編碼處理程序,及于該接收端由該解碼單元2所執(zhí)行的一解碼處理程序。該編碼處理程序包括下列步驟。首先,如步驟51 52所示,該片段選取模塊11逐一讀取該原始數(shù)據(jù)的 每一字元(以位元組為單位),并根據(jù)字元的所屬類別分割出片段;舉例來 說,假設(shè)該原始數(shù)據(jù)為'168、 9、 2、 2、 2、 28,, '2'是該傳送端的網(wǎng)絡(luò)應(yīng)用 程序介面3,或該接收端的網(wǎng)絡(luò)應(yīng)用程序介面4無法支援的字元,也就是第 二類別的字元;其余皆是第一類別的字元。當(dāng)該片段選取模塊11讀取到第 一個(gè)與之前讀取字元不同類別的字元時(shí),則分割形成一個(gè)片段;也就是'168、 9'為一個(gè)片段、'2、 2、 2'為一個(gè)片段,'28'為一個(gè)片段。繼而,如步驟53所示,該封包編碼模塊12將由步驟51~52分割出的 片段編碼成包括標(biāo)頭及本體的封包。當(dāng)該片段內(nèi)的字元的所屬類別為該第一類別時(shí),該封包編碼模塊12將 該所屬類別資訊及該原始數(shù)據(jù)結(jié)尾指示資訊編碼成該標(biāo)頭,將該片段內(nèi)的 字元編碼成該本體。當(dāng)該片段內(nèi)的字元的所屬類別為該第二類別時(shí),該封包編碼模塊12將 該所屬類別資訊及該原始數(shù)據(jù)結(jié)尾指示資訊編碼成該標(biāo)頭,將該片段內(nèi)的 字元的數(shù)目編碼成該本體。假設(shè)在本范例中,以一個(gè)位元組作為標(biāo)頭,且定義標(biāo)頭的前四位元為 該所屬類別資訊,用以指出片段內(nèi)的字元的所屬類別('l,代表第一類別,'2, 代表第二類別),后四位元為該原始數(shù)據(jù)結(jié)尾指示資訊,用以指出該片段是否為該原始數(shù)據(jù)的結(jié)尾('o,代表不是結(jié)尾,'r代表是結(jié)尾)。如此一來,對(duì)'168、 9'這個(gè)片段而言,其標(biāo)頭為'10',其本體為'168、 9,;對(duì)'2、 2、 2,這 個(gè)片段而言,其標(biāo)頭為'20',其本體為'3, ('0,表示字元的數(shù)目為一個(gè),'1, 表示字元的數(shù)目為兩個(gè),'2,這個(gè)值不被網(wǎng)絡(luò)應(yīng)用程序介面3、 4支援,所以, 以'3,來表示字元的數(shù)目為三個(gè));對(duì)'28,這個(gè)片段而言,其標(biāo)頭為'll,,其 本體為'28'。值得一提的是,在本范例中,網(wǎng)絡(luò)應(yīng)用程序介面3、 4無法支援的字元 只有一個(gè)'2,;但是,當(dāng)網(wǎng)絡(luò)應(yīng)用程序介面3、 4無法支援的字元有多個(gè)時(shí), 該封包編碼^t塊12還將一字元指示資訊編碼至該封包的標(biāo)頭,用以指出該 片段內(nèi)的字元為哪一個(gè)無法支援的字元。接著,如步驟54所示,通過該傳送端的網(wǎng)絡(luò)應(yīng)用程序介面3,將封包 依序傳送至該接收端。最后,如步驟55所示,該判斷模塊13執(zhí)行以下判斷若該片段為該 原始數(shù)據(jù)的結(jié)尾,則結(jié)束該傳送端對(duì)此筆原始數(shù)據(jù)的編碼處理,否則,回 到步驟51。依據(jù)上述步驟51~55,可將該原始數(shù)據(jù)編碼成包括三個(gè)封包的一已編碼13數(shù)據(jù),并經(jīng)由因特網(wǎng)依序傳送至該接收端。參閱圖l、圖3與圖4,于該接收端,其解碼單元2對(duì)于封包的規(guī)則與定義同于該傳送端的該編碼單元1,該解碼處理程序包括的步驟簡述如下。首先,如步驟61所示,通過該接收端的網(wǎng)絡(luò)應(yīng)用程序介面4依序接收 該已編碼數(shù)據(jù)的封包。繼而,如步驟62所示,該封包解碼模塊21解碼封 包的標(biāo)頭以得知其內(nèi)容所屬的類別,以及該封包是否已為該已編碼數(shù)據(jù)的 最后一個(gè)封包;當(dāng)由封包的標(biāo)頭得知其內(nèi)容屬于該第二類別,且網(wǎng)絡(luò)應(yīng)用 程序介面3、 4無法支援的字元有多個(gè)時(shí),該封包解碼模塊21進(jìn)一步由該 標(biāo)頭解碼出該字元指示資訊,以得知其內(nèi)容實(shí)際上為哪一個(gè)無法支援的字 元。最后,如步驟63所示,該判斷模塊22執(zhí)行以下判斷若封包已為該 已編碼數(shù)據(jù)的最后一個(gè)封包,則結(jié)束該接收端對(duì)于該已編碼數(shù)據(jù)的解碼處 理,否則,回到該步驟61。歸納上述,借由本發(fā)明的編-解碼處理,使得完整字元集的原始數(shù)據(jù)可 經(jīng)由只支援部分字元集的網(wǎng)絡(luò)應(yīng)用程序介面3、 4進(jìn)行傳輸;而且,對(duì)一般 的數(shù)據(jù)而言,若連續(xù)字元多屬于相同類別時(shí),額外需要的標(biāo)頭數(shù)據(jù)量很小, 所以可大大地降低傳輸?shù)睦圪様?shù)據(jù)量,的確可以達(dá)成本發(fā)明的目的。以上所述,僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明作任何形式 上的限制,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā) 明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利 用上述揭示的技術(shù)內(nèi)容作出些許更動(dòng)或修飾為等同變化的等效實(shí)施例,但 凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所 作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
權(quán)利要求
1、一種用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,適用于一傳送端的一網(wǎng)絡(luò)應(yīng)用程序介面,其特征在于該方法包含下列步驟(a)讀取一原始數(shù)據(jù)中至少一字元,該字元的所屬類別為一第一類別及一第二類別其中一個(gè);(b)根據(jù)該字元的所屬類別,自該原始數(shù)據(jù)中分割出一片段,該片段內(nèi)的所有字元屬于同一類別;(c)當(dāng)該片段內(nèi)的字元的所屬類別為該第一類別時(shí),將該第一類別及一原始數(shù)據(jù)結(jié)尾指示資訊編碼成一封包的一標(biāo)頭,將該片段內(nèi)的字元編碼成該封包的一本體;及(d)當(dāng)該片段內(nèi)的字元的所屬類別為該第二類別時(shí),將該第二類別及該原始數(shù)據(jù)結(jié)尾指示資訊編碼成該封包的標(biāo)頭,將該片段內(nèi)的字元的一數(shù)目編碼成該封包的本體。
2、 根據(jù)權(quán)利要求1所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,其特征在于 該第一類別是指該傳送端的網(wǎng)絡(luò)應(yīng)用程序介面可以支援的字元,該第二類 別是指該傳送端的網(wǎng)絡(luò)應(yīng)用程序介面無法支援的字元。
3、 根據(jù)權(quán)利要求2所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,其特征在于 在該步驟(d)中,還將一字元指示資訊編碼至該封包的標(biāo)頭,該字元指示 資訊用以指出該片段內(nèi)的字元為哪 一 個(gè)無法支援的字元。
4、 根據(jù)權(quán)利要求2所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,其特征在于 該方法還包含一步驟(e),通過該網(wǎng)絡(luò)應(yīng)用程序介面依序傳送該封包。
5、 根據(jù)權(quán)利要求2所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,其特征在于 該方法還包含一步驟(f),若該片段為該原始數(shù)據(jù)的結(jié)尾,則結(jié)束對(duì)該原始 數(shù)據(jù)的編碼處理,否則,回到該步驟(a)。
6、 一種用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法,適用于一接收端的一網(wǎng)絡(luò)應(yīng)用 程序介面,其特征在于該方法包含下列步驟(a) 接收一已編碼數(shù)據(jù)的一封包,該封包包括一標(biāo)頭及一本體;(b) 解碼該封包的標(biāo)頭以得知其內(nèi)容所屬類別,以及該封包是否已為 該已編碼數(shù)據(jù)的最后 一個(gè)封包;(c) 當(dāng)該封包的內(nèi)容所屬類別為一第一類別時(shí),自該本體解碼出至少 一屬于該第一類別的字元;及(d) 當(dāng)該封包的內(nèi)容所屬類別為一第二類別時(shí),自該本體解碼出屬于 該第二類別的字元的一數(shù)目。
7、 根據(jù)權(quán)利要求6所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法,其特征在于 該第一類別是指該接收端的網(wǎng)絡(luò)應(yīng)用程序介面可以支援的字元,該第二類別是指該接收端的網(wǎng)絡(luò)應(yīng)用程序介面無法支4爰的字元。
8、 根據(jù)權(quán)利要求7所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法,其特征在于 在該步驟(d)中,還自該封包的標(biāo)頭解碼出一字元指示資訊,該字元指示 資訊用以指出其內(nèi)容實(shí)際上為哪一個(gè)無法支援的字元。
9、 根據(jù)權(quán)利要求7所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法,其特征在于 該步驟(a)是通過該網(wǎng)絡(luò)應(yīng)用程序介面依序接收該封包。
10、 根據(jù)權(quán)利要求7所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷獯a方法,其特征在 于該方法還包含一步驟(e),若該封包已為該已編碼數(shù)據(jù)的最后一個(gè)封 包,則結(jié)束對(duì)該已編碼數(shù)據(jù)的解碼處理,否則,回到該步驟(a)。
11、 一種用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,其特征在于該方法包含 于一傳送端執(zhí)行的一編碼處理程序,及于一接收端執(zhí)行的一解碼處理程序;該編碼處理程序包括下列步驟(a) 讀取一原始數(shù)據(jù)中至少一字元,該字元的所屬類別為一第一類別 及一第二類別其中一個(gè);(b) 根據(jù)該字元的所屬類別,自該原始數(shù)據(jù)中分割出一片段,該片段 內(nèi)的所有字元屬于同一類別;(c) 當(dāng)該片段內(nèi)的字元的所屬類別為該第一類別時(shí),將該第一類別及 一原始數(shù)據(jù)結(jié)尾指示資訊編碼成一封包的一標(biāo)頭,將該片段內(nèi)的字元編碼 成該封包的一本體;及(d) 當(dāng)該片段內(nèi)的字元的所屬類別為該第二類別時(shí),將該第二類別及 該原始數(shù)據(jù)結(jié)尾指示資訊編碼成該封包的標(biāo)頭,將該片段內(nèi)的字元的一數(shù) 目編碼成該封包的本體;(e) 將該封包通過該傳送端的一網(wǎng)絡(luò)應(yīng)用程序介面依序傳送至該接收端;該解碼處理程序包括下列步驟(f) 通過該4妻收端的一網(wǎng)絡(luò)應(yīng)用程序介面依序4^收該封包;(g) 解碼該封包的標(biāo)頭以得知其內(nèi)容所屬類別,以及該封包是否已為 最后一個(gè)封包;(h) 當(dāng)該封包的內(nèi)容所屬類別為該第一類別時(shí),自該本體解碼出屬于 該第一類別的字元;及(i) 當(dāng)該封包的內(nèi)容所屬類別為該第二類別時(shí),自該本體解碼出屬于該 第二類別的字元的數(shù)目。
12、 根據(jù)權(quán)利要求11所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,其特征 在于該第一類別是指該傳送端的網(wǎng)絡(luò)應(yīng)用程序介面,及該接收端的網(wǎng)絡(luò) 應(yīng)用程序介面皆可以支援的字元,該第二類別是指該傳送端的網(wǎng)絡(luò)應(yīng)用程 序介面,及該接收端的網(wǎng)絡(luò)應(yīng)用程序介面其中至少 一個(gè)無法支援的字元。
13、 根據(jù)權(quán)利要求12所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,其特征 在于在該步驟(d)中,還將一字元指示資訊編碼至該封包的標(biāo)頭,該字 元指示資訊用以指出該片段內(nèi)的字元為哪一個(gè)無法支援的字元。
14、 根據(jù)權(quán)利要求12所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,其特征 在于該編碼處理程序還包括一步驟(j),若該片段為該原始數(shù)據(jù)的結(jié)尾, 則結(jié)束對(duì)該原始數(shù)據(jù)的編碼處理,否則,回到該步驟(a)。
15、 根據(jù)權(quán)利要求12所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,其特征 在于在該步驟(i)中,還自該封包的標(biāo)頭解碼出一字元指示資訊,該字 元指示資訊用以指出其內(nèi)容實(shí)際上為哪一個(gè)無法支援的字元。
16、 根據(jù)權(quán)利要求12所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼方法,其特征 在于該解碼處理程序還包括一步驟(k),若該封包已為最后一個(gè)封包, 則結(jié)束該接收端的解碼處理,否則,回到該步驟(f)。
17、 一種用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其特征在于其包含 一編碼單元,位于一傳送端,該編碼單元包括一片段選取模塊,及一封包編碼模塊,該片段選取模塊用以根據(jù)一原始數(shù)據(jù)中至少一字元的所屬 類別,自該原始數(shù)據(jù)分割出一片段,該字元的所屬類別為一第一類別及一 第二類別其中一個(gè),且該片段內(nèi)的所有字元屬于同一類別,該封包編碼模 塊用以將該片段編碼成一封包,該封包包括一標(biāo)頭及一本體,該標(biāo)頭具有 一所屬類別資訊,及一原始數(shù)據(jù)結(jié)尾指示資訊,若該片段內(nèi)的字元屬于該 第一類別,則該本體具有該片段內(nèi)的字元,若該片段內(nèi)的字元屬于該第二 類別,則該本體具有該片段內(nèi)的字元的一數(shù)目。
18、 根據(jù)權(quán)利要求17所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其特征 在于該系統(tǒng)還包含一解碼單元,位于一接收端,該解碼單元包括一封包 解碼模塊,用以解碼該封包的標(biāo)頭,以得知其內(nèi)容所屬類別,以及該封包 是否已為最后一個(gè)封包。
19、 根據(jù)權(quán)利要求18所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其特征 在于該第一類別是指該傳送端的一網(wǎng)絡(luò)應(yīng)用程序介面,及該接收端的一 網(wǎng)絡(luò)應(yīng)用程序介面皆可以支援的字元,該第二類別是指該傳送端的網(wǎng)絡(luò)應(yīng) 用程序介面,及該接收端的網(wǎng)絡(luò)應(yīng)用程序介面其中至少一個(gè)無法支援的字 元。
20、 根據(jù)權(quán)利要求19所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其特征 在于若該封包編碼;f莫塊所編碼的該片^R內(nèi)的字元屬于該第二類別,則該 標(biāo)頭還具有一字元指示資訊,該字元指示資訊用以指出該片段內(nèi)的字元為 哪一個(gè)無法支援的字元。
21、 根據(jù)權(quán)利要求19所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其特征 在于若該封包解碼模塊解碼出的標(biāo)頭指出該封包的內(nèi)容屬于該第二類別,則該封包解碼模塊還用以由該標(biāo)頭解碼出 一字元指示資訊,該字元指示資 訊用以指出其內(nèi)容實(shí)際上為哪一個(gè)無法支援的字元。
22、 根據(jù)權(quán)利要求19所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其特征 在于該編碼單元還包括一判斷模塊,用以進(jìn)行以下判斷若該片段為該 原始數(shù)據(jù)的結(jié)尾,則結(jié)束該傳送端的編碼處理。
23、 根據(jù)權(quán)利要求19所述的用于網(wǎng)絡(luò)傳輸?shù)淖衷?解碼系統(tǒng),其特征 在于該解碼單元還包括一判斷模塊,用以進(jìn)行以下判斷若該封包已為 最后一個(gè)封包,則結(jié)束該接收端的解碼處理。
全文摘要
本發(fā)明是關(guān)于一種用于網(wǎng)絡(luò)傳輸?shù)淖衷幋a方法,適用于一傳送端的一網(wǎng)絡(luò)應(yīng)用程序介面,該方法包含下列步驟(a)讀取一原始數(shù)據(jù)中至少一字元,該字元的所屬類別為一第一類別或一第二類別;(b)根據(jù)該字元的所屬類別,自該原始數(shù)據(jù)中分割出一片段;(c)當(dāng)該片段內(nèi)的字元的所屬類別為該第一類別時(shí),將該第一類別及一原始數(shù)據(jù)結(jié)尾指示資訊編碼成一封包的一標(biāo)頭,將該片段內(nèi)的字元編碼成該封包的一本體;及(d)當(dāng)該片段內(nèi)的字元的所屬類別為該第二類別時(shí),將該第二類別及該原始數(shù)據(jù)結(jié)尾指示資訊編碼成該標(biāo)頭,將該片段內(nèi)的字元的一數(shù)目編碼成該本體。
文檔編號(hào)H04L29/06GK101674292SQ20081021182
公開日2010年3月17日 申請(qǐng)日期2008年9月9日 優(yōu)先權(quán)日2008年9月9日
發(fā)明者江啟逞 申請(qǐng)人:宏碁股份有限公司