BASE64編碼之javascript類庫BASE64.js

來源:互聯網
上載者:User

Base64是一種基於64個可列印字元來表示位元據的表示方法。由於2的6次方等於64,所以每6個位元為一個單元,對應某個可列印字元。三個位元組有24個位元,對應於4個Base64單元,即3個位元組需要用4個可列印字元來表示。它可用來作為電子郵件的傳輸編碼。在Base64中的可列印字元包括字母A-Z、a-z、數字0-9
,這樣共有62個字元,此外兩個可列印符號在不同的系統中而不同(本類庫裡面用的是`+`,`/`這兩個字元)。一些如uuencode的其他編碼方法,和之後binhex的版本使用不同的64字元集來代表6個位元字,但是它們不叫Base64。

Base64常用於在通常處理文本資料的場合,表示、傳輸、儲存一些位元據。包括MIME的email,email via MIME, 在XML中儲存複雜資料.[摘自:維基百科]

Base64其實是一種簡單的置換加密方式,但是BASE64的用處往往並不是為了防止資訊泄露,而且為了方便傳輸,進過BASE64編碼後的資訊會比原始資訊長,大概是4/3倍。

昨天本人寫了一個機遇javascript實現的一個Base4編碼和解碼的一個類庫,是:http://code.google.com/p/lazycode/downloads/detail?name=Base64.js&can=2&q=#makechanges。  

國內git:http://git.oschina.net/loonhxl/jbase64

本類庫目前基於UTF-8編碼實現的Base64編碼和解碼(支援utf-8能表示的所有字元的base64編碼和解碼,如漢字等),可以和java的BASE64編碼對應。目前測試通過,但是其他編碼的漢字如GBK編碼,未測試,可能會出現無法解碼的現象。

UTF-8是unicode的一種特殊形式,詳細介紹可以參考維基百科:http://zh.wikipedia.org/wiki/UTF8

用法:

引入Base64.jsvar base64 = BASE64.encode(str);//返回編碼後的字元var unicode= BASE64.decoder(base64Str);//返回會解碼後的unicode碼數組。//可由下面的代碼編碼為stringvar str = '';for(var i = 0 , len =  unicode.length ; i < len ;++i){      str += String.fromCharCode(unicode[i]);}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.