• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于JavaScript的輕量化BASE64編碼及解碼算法

      2015-06-19 11:54王芳白宇
      軟件 2015年4期
      關(guān)鍵詞:哈希解碼編碼

      王芳 白宇

      摘要:通過(guò)對(duì)傳統(tǒng)BASE64編碼及解碼算法進(jìn)行改造,使用預(yù)處理技術(shù)、哈希技術(shù)和正則文法,提出了一種適合Web客戶端應(yīng)用,使用JavaScdpt編碼的輕量化BASE64編碼及解碼算法。該算法比傳統(tǒng)的BASE64編碼及解碼算法實(shí)現(xiàn)簡(jiǎn)單,代碼效率高。

      關(guān)鍵詞:BASE64;Web;哈希;編碼;解碼

      中圖分類(lèi)號(hào):TP311.12 文獻(xiàn)標(biāo)識(shí)碼:A DOI:10.3969/j.issn.1003-6970.2015.04.005

      0.引言

      在Web應(yīng)用開(kāi)發(fā)過(guò)程中,客戶端編碼經(jīng)常遇到一些非標(biāo)ASCII字符串傳輸?shù)膯?wèn)題。如果該字符串是URI(統(tǒng)一資源標(biāo)識(shí)符),通常的解決辦法是使用JavaScript中Globa對(duì)象的encodeURIO和decodeURIO方法;如果該字符串是用于客戶端和服務(wù)端參數(shù)傳遞的內(nèi)容,則通常的解決辦法是使用JavaScript中Globa對(duì)象的escapeO和unescapeO方法。但是這兩種方法都存在很大的局限性,例如,所編碼的字符串長(zhǎng)度有很大限制,編碼內(nèi)容對(duì)于不同版本及語(yǔ)言瀏覽器中不同版本的腳本引擎并不完全兼容。

      而在Web客戶端普遍使用的ASCII全兼容編碼是BASE64,但傳統(tǒng)的BASE64編碼、解碼算法相對(duì)比較笨重,實(shí)現(xiàn)代碼較多,算法較復(fù)雜,不符合Web客戶端代碼輕量化的需求。本文從字符映射、哈希和正則文法的角度出發(fā),提出了一種簡(jiǎn)潔、高效的編碼、解碼算法。

      1.算法思路

      由于Web中的所有字符均以Unicode的方式進(jìn)行表示,因此編碼之前首先需將Unicode字符串轉(zhuǎn)換為UCS-16編碼的字節(jié)數(shù)組;同理,解碼之后,需將UCS-16編碼的字節(jié)數(shù)組轉(zhuǎn)換為Unicode字符串。因此整個(gè)算法分為四個(gè)部分:Unicode字符串轉(zhuǎn)為UCS-16字節(jié)數(shù)組;BASE64編碼算法;BASE64解碼算法;UCS-16字節(jié)數(shù)組轉(zhuǎn)為Unicode字符串。關(guān)于BASE64編碼、解碼的一般規(guī)則,可參見(jiàn)文獻(xiàn),本文不再贅述。

      猜你喜歡
      哈希解碼編碼
      《解碼萬(wàn)噸站》
      基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
      《全元詩(shī)》未編碼疑難字考辨十五則
      子帶編碼在圖像壓縮編碼中的應(yīng)用
      解碼eUCP2.0
      NAD C368解碼/放大器一體機(jī)
      Quad(國(guó)都)Vena解碼/放大器一體機(jī)
      Genome and healthcare
      基于維度分解的哈希多維快速流分類(lèi)算法
      基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗(yàn)證算法
      东源县| 蒲城县| 库尔勒市| 南昌市| 乌海市| 抚州市| 永胜县| 福贡县| 麦盖提县| 安庆市| 洪江市| 浠水县| 什邡市| 竹溪县| 南昌县| 舒城县| 寻甸| 翁源县| 宁乡县| 奉新县| 八宿县| 隆尧县| 亚东县| 八宿县| 天镇县| 宁南县| 天柱县| 安国市| 晴隆县| 顺昌县| 依安县| 民丰县| 金华市| 浑源县| 安泽县| 通榆县| 光泽县| 磐石市| 乌拉特前旗| 柯坪县| 舒城县|