[JS笔记] javascript base64 Encode, Decode - 凡事预则立,ä¸?预则废
以下方案仅é™?于æµ?览器环境ï¼?

æµ?览器内置的方法 atob, btoa 仅能处ç?† utf-8 编ç ?的 ascii 字符,ä¸?能直接作用于 Unicode 字符串,所以需è¦?æ?ž定 utf-8 编ç ?,解ç ?:


// utf-8 encode, decode
function encode_utf8(s) {
    return unescape(encodeURIComponent(s));
}

function decode_utf8(s) {
    return decodeURIComponent(escape(s));
}


��:
å?¦:

然å?Ž base64 自然就有了:


// base64, encode, decode
function base64Encode(str) {
    return btoa(unescape(encodeURIComponent(str)));
}

function base64Decode(str) {
    return decodeURIComponent(escape(atob(str)));
}

// utf-8 encode, decode
function encode_utf8(s) {
    return unescape(encodeURIComponent(s));
}

function decode_utf8(s) {
    return decodeURIComponent(escape(s));
}


兼容情况如下:
Win32
  • Firefox 1.5.0.6
  • Firefox 1.5.0.4
  • Internet Explorer 6.0.2900.2180
  • Opera 9.0.8502
MacOS
  • Camino 2006061318 (1.0.2)
  • Firefox 1.5.0.4
  • Safari 2.0.4 (419.3)

当然,ä¾?然存在å?¯能失败的情况。
具体请å?‚考
Tags:Javascript

上一篇:grunt-css-sprite

共5评论

  1. 仔细拜读,表示支æŒ?ï¼?

    甲å?ˆ年(马)腊月åˆ?ä¹? 2015-1-28

    回å¤?

  2. 收è—?了好文乙未年(羊)三月åˆ?五 2015-4-23

    回å¤?

  3. 原æ?¥你在这里Haha

    laoshu133 于 2015-5-8 11:27:38 回å¤?
    @算沙
    被你å?‘现了

    回å¤?

  4. ä¸?止一次的æ?¥访,一如既往的支æŒ?。

    回å¤?

  5. pretty good blog,come again next time。

    回å¤?

å?‘表评论

最新评论å?Š回å¤?

    loading

最近å?‘表

    loading

网站分类

    loading

文章归档

    loading

å?‹情链接

Top Comments Footer