找回密码
 新建账号

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

[复制链接]
php 发表于 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().

<script>
        /*
         * Javascript base64encode() base64加密函数
           用于生成字符串对应的base64加密字符串
         * 吴先成  www.51-n.com ohcc@163.com QQ:229256237
         * @param string input 原始字符串
         * @return string 加密后的base64字符串
        */
        function base64Encode(input){
                var rv;
                rv = encodeURIComponent(input);
                rv = unescape(rv);
                rv = window.btoa(rv);
                return rv;
        }
        /*
         * Javascript base64Decode() base64解密函数
           用于解密base64加密的字符串
         * 吴先成  www.51-n.com ohcc@163.com QQ:229256237
         * @param string input base64加密字符串
         * @return string 解密后的字符串
        */
        function base64Decode(input){
                rv = window.atob(input);
                rv = escape(rv);
                rv = decodeURIComponent(rv);
                return rv;
        }
</script>

本帖子中包含更多资源

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

×
erhuojiuri 发表于 2016/2/15 17:24 | 显示全部楼层
Good!Thank you!
676397793 发表于 2016/8/4 20:52 | 显示全部楼层
23333333333333

手机版|轻松E站

GMT+8, 2024/4/20 22:36

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