[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