找回密码
 新建账号

[JS] js base64_encode() 和 base64_decode() 函数 完美支持中文

[复制链接]
大郎 发表于 2013-12-24 23:26 | 显示全部楼层 |阅读模式
Javascript base64encode base64decode,仿 PHP base64_encode() 和 base64_decode(), 完美支持中文等非 ASCII 字符。
window.btoa() 和 window.atob() 优化版本的 base64encode 和 base64decode(),支持 IE10+ 及其他现代浏览器。
如果需要广泛的浏览器支持,请下载不需要 window.btoa() 和 window.atob() 的 base64_encode() 和 base64_decode() 脚本。

base64 编码和解码有固定的计算方法,不要随意改动代码,否则可能导致程序出错,或计算出错误的结果。
为了保证代码的正确性,请下载附件 base64.js,不要直接复制代码。

浏览器原生支持 window.btoa(string) 将 string 转换为 base64 编码字符串,window.atob(string) 将 base64 编码字符串转成普通字符串,但是 window.btoa() 和 window.atob() 不支持中文等非 ASCII 字符。基于这两个原生 JS 方法我们提供了以下优化版本。

IE10+, Microsoft Edge, Firefox, Google Chrome, Safari, Opera 等现代浏览器都支持 window.btoa() 和 window.atob()。

  1. /*
  2. * Javascript base64encode() base64 编码函数
  3.    用于生成字符串对应的 base64 编码字符串
  4. * @author 吴先成 qsez.org wuxiancheng.cn ohcc@163.com QQ/229256237
  5. * @param string input 原始字符串
  6. * @return string 编码后的 base64 字符串
  7. */
  8. function base64Encode(input){
  9.         return window.btoa(unescape(encodeURIComponent(input)));
  10. }
  11. /*
  12. * Javascript base64Decode() base64 解码函数
  13.    用于解码 base64 编码的字符串
  14. * @author 吴先成 qsez.org wuxiancheng.cn ohcc@163.com QQ/229256237
  15. * @param string input base64 编码字符串
  16. * @return string 解码后的字符串
  17. */
  18. function base64Decode(input){
  19.         return decodeURIComponent(escape(window.atob(input)));
  20. }
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?新建账号

×

手机版|轻松e站

GMT+8, 2026-3-13 05:19

快速回复 返回顶部 返回列表