国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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

王芳 白宇

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

關鍵詞:BASE64;Web;哈希;編碼;解碼

中圖分類號:TP311.12 文獻標識碼:A DOI:10.3969/j.issn.1003-6970.2015.04.005

0.引言

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

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

1.算法思路

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

猜你喜歡
哈希解碼編碼
《解碼萬噸站》
基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達圖像配準
《全元詩》未編碼疑難字考辨十五則
子帶編碼在圖像壓縮編碼中的應用
電子制作(2019年22期)2020-01-14 03:16:24
解碼eUCP2.0
中國外匯(2019年19期)2019-11-26 00:57:32
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
Genome and healthcare
基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
基于維度分解的哈希多維快速流分類算法
計算機工程(2015年8期)2015-07-03 12:20:04
梓潼县| 久治县| 麻城市| 宁明县| 枣强县| 中方县| 繁峙县| 鹤峰县| 克东县| 尼勒克县| 罗甸县| 徐汇区| 武鸣县| 安多县| 镇沅| 崇礼县| 嵊州市| 德安县| 宿松县| 永春县| 沁阳市| 大埔县| 淄博市| 滦南县| 江口县| 洪湖市| 朝阳市| 融水| 内乡县| 滦平县| 广水市| 南宫市| 玉林市| 读书| 贵港市| 达尔| 建瓯市| 长白| 清涧县| 丹巴县| 竹山县|