国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      字符編碼解碼方法及裝置的制造方法

      文檔序號:9633617閱讀:420來源:國知局
      字符編碼解碼方法及裝置的制造方法
      【技術領域】
      [0001]本發(fā)明涉及數(shù)據(jù)傳輸領域,特別是涉及一種字符編碼解碼方法及裝置。
      【背景技術】
      [0002]端到端的傳輸過程中,數(shù)據(jù)必須被以某種形式編碼后,才能發(fā)送。目前常用的編碼有 Unicode (統(tǒng)一碼)、Unicode 可變長度字符編碼(8_bit Unicode Transformat1nFormat, UTF-8)等。其中,Unicode是一種在計算機上使用的字符編碼,是為了解決傳統(tǒng)的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統(tǒng)一并且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。1990年開始研發(fā),1994年正式公布;UTF-8是一種針對Unicode的可變長度字符編碼,又稱萬國碼。由Ken Thompson于1992年創(chuàng)建?,F(xiàn)在已經(jīng)標準化為RFC 3629。UTF-8用1到4個字節(jié)編碼UNICODE字符。用在網(wǎng)頁上可以同一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。UNICODE編碼,中英文字符均占用2字節(jié),當UNICODE編碼在英文字符較多的情況下,碼流過長,不利于傳輸。而UTF-8編碼,常用英文字符占用1字節(jié)長度,中文占用3字節(jié)長度,當UTF-8編碼在中文較多,英文字符較少的情況下,碼流長度過長,不利于傳輸。

      【發(fā)明內容】

      [0003]有鑒于此,本發(fā)明提供一種字符編碼解碼方法,主要目的在于當字符編碼時,不論英文字符較多還是中文字符較多,都能得到相對合適的碼流,以便利于傳輸。
      [0004]依據(jù)本發(fā)明一個方面,提供了一種字符編碼方法,包括:
      [0005]在數(shù)據(jù)傳輸過程中,獲取待編碼字符;
      [0006]將所述待編碼字符進行編碼得到對應的十六進制串編碼字符,每個編碼字符的十八進制串包括聞位和低位;
      [0007]計算編碼字符的碼值;
      [0008]若所述編碼字符的碼值小于或等于127,則將對應編碼字符十六進制串的高位去掉保留低位;
      [0009]若所述編碼字符的碼值大于127,則保留所述編碼字符十六進制串,并對所述編碼字符進行分組,在組內第一個編碼字符前添加十六進制長度編碼。
      [0010]依據(jù)本發(fā)明另一個方面,提供了一種字符解碼方法,包括:
      [0011 ] 在數(shù)據(jù)傳輸過程中,讀取待解碼字符;
      [0012]確定所述待解碼字符是否為長度編碼字符,所述長度編碼字符為編碼字符的碼值大于127時對編碼字符進行分組,并且在組內第一個編碼字符前添加的十六進制編碼;
      [0013]若所述待解碼字符不為所述長度編碼字符,則順序讀取所述待解碼字符和與所述待解碼字符相鄰的另一個待解碼字符,將所述兩個待解碼字符拼接為ASCII字符;
      [0014]若所述待解碼字符為長度編碼字符,則將所述長度編碼字符對應數(shù)量的字符拼接為統(tǒng)一碼Unicode字符;
      [0015]將所述ASCII字符或Unicode字符進行解碼得到解碼字符。
      [0016]依據(jù)本發(fā)明另一個方面,提供了一種字符編碼裝置,包括:
      [0017]字符獲取單元,用于在數(shù)據(jù)傳輸過程中,獲取待編碼字符;
      [0018]編碼單元,用于將所述待編碼字符進行編碼得到對應的十六進制串編碼字符,每個編碼字符的十六進制串包括高位和低位后;
      [0019]計算單元,用于計算編碼字符的碼值;
      [0020]第一編碼處理單元,用于當所述編碼字符的碼值小于或等于127時,將對應編碼字符十六進制串的高位去掉保留低位;
      [0021]第二編碼處理單元,用于當所述編碼字符的碼值大于127時,保留所述編碼字符十六進制串,并對所述編碼字符進行分組,在組內第一個編碼字符前添加十六進制長度編碼。
      [0022]依據(jù)本發(fā)明另一個方面,提供了一種字符解碼裝置,包括:
      [0023]讀取單元,用于在的數(shù)據(jù)傳輸過程中,讀取待解碼字符;
      [0024]確定單元,用于確定所述待解碼字符是否為長度編碼字符,所述長度編碼字符為編碼字符的碼值大于127時對編碼字符進行分組,并且在組內第一個編碼字符前添加的十六進制編碼,每個組內最多包含8個編碼字符;
      [0025]第一拼接單元,用于在確定所述待解碼字符不為所述長度編碼字符時,順序讀取所述待解碼字符和與所述待解碼字符相鄰的另一個待解碼字符,將所述兩個待解碼字符拼接為ASCII字符;
      [0026]第二拼接單元,用于在確定所述待解碼字符為長度編碼字符時,將所述長度編碼字符對應數(shù)量的字符拼接為統(tǒng)一碼Unicode字符;
      [0027]解碼單元,用于將所述ASCII字符或Unicode字符進行解碼得到解碼字符。
      [0028]借由上述技術方案,本發(fā)明實施例提供的技術方案至少具有下列優(yōu)點:
      [0029]本發(fā)明提供的字符編碼解碼的方法及裝置,在數(shù)據(jù)傳輸過程中,將待編碼數(shù)據(jù)編碼得到對應的十六進制串編碼字符,每個編碼字符的十六進制串包括高位和低位,按照碼值對編碼后的十六進制串進行處理,當待編碼字符對應的十六進制碼值小于等于127時,將十六進制的高位去掉保留低位,即將2個字節(jié)的編碼字符變更為1個字節(jié)的編碼字符,當待編碼字符對應的十六進制碼值大于127時,對待編字符編進行分組,并在組內第一個字符編碼前加長度編碼,用于區(qū)別什么樣的編碼是一個字節(jié),什么樣的編碼是兩個字節(jié),便于解碼端準確的解碼。其與現(xiàn)有技術相比,能夠保證編碼字符根據(jù)實際需求進行可變長編碼,并且編碼的最長使用2字節(jié)長度,即不論英文字符較多還是中文字符較多,都能得到相對合適的碼流,以便利于傳輸。
      [0030]上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
      【附圖說明】
      [0031]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
      [0032]圖1示出了本發(fā)明實施例提供的一種字符編碼方法的流程圖;
      [0033]圖2示出了本發(fā)明實施例提供的一種字符解碼方法的流程圖;
      [0034]圖3示出了本發(fā)明實施例提供的一種字符編碼裝置的組成框圖;
      [0035]圖4示出了本發(fā)明實施例提供的另一種字符編碼裝置的組成框圖;
      [0036]圖5示出了本發(fā)明實施例提供的另一種字符編碼裝置的組成框圖;
      [0037]圖6示出了本發(fā)明實施例提供的一種字符解碼裝置的組成框圖;
      [0038]圖7示出了本發(fā)明實施例提供的一種字符解碼裝置的組成框圖;
      [0039]圖8示出了本發(fā)明實施例提供的一種字符解碼裝置的組成框圖。
      【具體實施方式】
      [0040]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
      [0041]本發(fā)明實施例提供一種字符編碼方法,如圖1所示,該方法包括:
      [0042]101、在數(shù)據(jù)傳輸過程中,獲取待編碼字符。
      [0043]該待編碼字符為英文字符或非英文字符。
      [0044]102、將所述待編碼字符進行編碼得到對應的十六進制串編碼字符,每個編碼字符的十六進制串包括高位和低位。
      [0045]由于,目前在數(shù)據(jù)傳輸過程中,常用的編碼有UTF_8、UNIC0DE等。在將待編碼字符進行編碼得到對應的十六進制串編碼字符時,可以采用但不局限于以下的方式實現(xiàn),該方法包括:將待編碼字符用Unicode進行編碼得到對應的十六進制串編碼字符;或者將待編碼字符用UTF-8進行編碼得到對應的十六進制串編碼字符。具體的,本發(fā)明實施例對此不進行限制。
      [0046]103、計算編碼字符的碼值;若所述編碼字符的碼值小于或等于127,則執(zhí)行104 ;若所述編碼字符的碼值大于127,則執(zhí)行105。
      [0047]104、將對應編碼字符十六進制串的高位去掉保留低位。
      [0048]其中,當碼值小于或等于127時,高位編碼為0,在實際應用時是可以將高位舍棄,例如,字母“a”用Unicode進行編碼得到對應的十六進制串編碼字符0061,其高位為00,可以將高位00舍棄,得到編碼61。
      [0049]105、保留所述編碼字符十六進制串,并對所述編碼字符進行分組,在組內第一個編碼字符前添加十六進制長度編碼。
      [0050]其中,當碼值大于127時,高位編碼不為0,不能將其舍棄,為了區(qū)分其是碼值大于127的字符編碼,需要對該類編碼進行標識,該標識轉化為二進制首位必須為1,因為127轉為8位二進制時,首位為0,例如F(16) = 1111(2),8(16) = 1000(2)。首位為1之后才能與前一段碼值〈=127的字符區(qū)分開,故在分組之前加一個長度編碼,該長度編碼的首位必須為1,所以在16進制的編碼中,首位為1的字符有8、9、A、B、C、D、E和F,這些編碼用來標識分組中數(shù)據(jù)的長度。
      [0051]在對碼值大于127的字符進行分組時,可以8個字符編為一組,不足8個的也可以編為一組,例如,只有一個該類字符,也編為一組;又例如,該類連續(xù)字符超過8個時,從高位到低位將每8個字符編為一組,不足8個字符的也編為一組。
      [0052]在分組前添加長度編碼時,為了后續(xù)解碼的方便,我們可以采用但不局限于以下的方式實現(xiàn),該方法包括:將16減去組內字符個數(shù)得到長度數(shù)值;將所述長度數(shù)值轉換為十六進制編碼得到長度編碼。如例,組內字符長度為X: [1-8],則在分組前面加長度編碼為16-x的十六進制編碼。例如X = 1,加編碼F ;x = 8,加編碼8。
      [0053]基于上述字符編碼方法,本發(fā)明實施例還提供一種字符解碼方法,如圖2所示,該方法包括:
      [0054]201、在
      當前第1頁1 2 3 4 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1