var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function encode64(input)
{
input = escape(input);
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
do
{
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;
if (isNaN(chr2))
{
enc3 = enc4 = 64;
}
else if (isNaN(chr3))
{
enc4 = 64;
}
output = output +
keyStr.charAt(enc1) +
keyStr.charAt(enc2) +
keyStr.charAt(enc3) +
keyStr.charAt(enc4);
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return output;
}
function decode64(input)
{
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
var base64test = /[^A-Za-z0-9\+\/\=]/g;
if (base64test.exec(input))
{
alert("There were invalid base64 characters in the input text.\n" +
"Valid base64 characters are A-Z, a-z, 0-9, '+', '/', and '='\n" +
"Expect errors in decoding.");
}
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
do
{
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 != 64)
{
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64)
{
output = output + String.fromCharCode(chr3);
}
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return unescape(output);
}
document.writeln(encode64("你好啊"));
alert(decode64("JXU0RjYwJXU1OTdEJXU1NTRB"));
经测试,还可以。
分享到:
相关推荐
javascript版本的 base64解码和编码函数。
`调用.txt`文件可能是测试这两种编码解码方法的简单脚本,它会调用Java和JavaScript中的函数,并比较结果是否一致,确保在不同环境下的Base64编码和解码是兼容的。 总之,Java和JavaScript中Base64编码和解码的实现...
这个"base64编码解码器"是一个工具,能够对文件进行Base64编码和解码操作,方便用户处理二进制数据。 1. **Base64编码原理** - Base64编码源于ASCII字符集,使用了64个字符来表示二进制数据,这64个字符包括大小写...
"Base64 编码解码工具"是一个应用程序,它提供了一个方便的界面来对数据进行Base64的编码和解码操作。尽管这个工具非常实用,但需要注意的是,根据描述,它并不支持对文件进行编码或解码。这意味着你可以输入纯文本...
本资源提供的是一套完整的JavaScript实现,能够与ASP.NET和JAVA平台的3DES加密解密及Base64编码解码功能保持兼容。 首先,3DES的工作原理是在DES的基础上增加了一次加密过程,即使用同一个密钥进行三次加密,这大大...
在描述中提到的"Base64编码解码实例,全注释,可运行",意味着提供了一个包含完整注释的代码示例,可以用来进行Base64编码和解码操作。这个实例可能是用某种编程语言(如Python、Java、JavaScript等)编写的,可以...
Base64编码是一种广泛用于网络数据传输和存储的编码方式,它将任意二进制数据转化为可...通过对这些源码的学习,你可以了解不同编程环境下Base64操作的细节,加深对编码解码原理的理解,并可能为自己的项目提供参考。
QT图片Base64编码与解码是C++编程中一种常见的技术,特别是在处理网络传输或者存储图片数据时。Base64是一种将二进制数据转换为可打印ASCII字符的编码方式,它通过特定的算法将每3个字节的数据转换为4个ASCII字符,...
Delphi进行Base64编码后,如果使用javascript解码,会出现如下问题: 1. 汉字乱码 2. 空格变成 + 号 本资源演示Delphi代码,实现javascript能正确进行Base64解码,不出现上述2个问题。 解决思路:进行Base64前先...
本文将深入探讨如何在JavaScript(JS)客户端和Java(Android)端实现3DES加密解密以及Base64编码解码,这对于保护用户敏感信息和实现安全通信至关重要。 首先,3DES(Triple Data Encryption Standard)是一种加强...
在JavaScript中,Base64编码和解码是经常用到的功能,尤其是在处理图像、JSON数据或者进行跨平台通信时。 ### Base64编码原理 Base64编码的基本思想是将每3个字节(24位)的数据转换为4个6位的字符(共24位),然后...
在后端,Base64解码则是将接收到的Base64编码字符串还原成原始二进制数据。 **Base64编码原理** Base64编码基于64个可打印的ASCII字符,这些字符包括大小写字母、数字以及"+"和"/",还有一个特殊字符"="用于填充。...
综上所述,"base64编码解码程序"涉及到的不仅是Base64编码的基本原理和操作,还包括了如何处理包含中文在内的多字节字符,以及在实际应用中的场景和注意事项。理解和掌握这些知识点对于进行数据传输和处理工作是非常...
总结来说,处理JavaScript中的中文Base64编码,关键在于正确地转换中文字符串到UTF-8字节数组,再进行Base64编码和解码。利用`TextEncoder` 和 `TextDecoder` API,或者Node.js的`Buffer`对象,可以有效地处理这个...
base62.js, node.js的javascript Base62编码/解码器 Base62.js JavaScript Base62编码/解码器什么是Base62编码?Base62编码将数字转换为ASCII字符串( 0 -9,一个z 和一个z ),反之亦然,这通常会导致比较短的字符串...
在本示例中,我们讨论的是如何使用JavaScript对基于Base64编码的图片进行解码并显示在网页上。Base64是一种用于将二进制数据编码为ASCII字符串的编码方式,它在传输或存储非文本数据时非常有用,例如图片。 在HTML...
Base64编码是一种在互联网上...总的来说,Base64编码工具是实现数据在不同环境间安全、有效传输的重要辅助工具,无论是对文件还是自定义内容,都能提供便捷的编码和解码功能,极大地便利了开发者和普通用户的日常工作。
**jQuery Base64编码解码插件** 在Web开发中,数据传输是不可或缺的一部分,而Base64编码作为一种常见的数据编码方式,常用于在HTTP环境下传递包含非ASCII字符的字符串,比如图片数据、JSON对象等。`jquery.base64....
- 在Web开发中,Base64编码常用于在CSS中嵌入图片,或者在JavaScript中传递二进制数据。 6. **注意点** - Base64编码会使数据长度增加约33%,因为每个6位的二进制数据被转换成了8位的ASCII字符。 - 编码后的字符...
js实现base64编码解码 base64编码原理: base64可编码范围(ASCII字符范围内\u0000-\u00ff),所以每个字符必须8位,以3个字符为一组,转换为6bit的字节(3*8=4*6=24). 在每个6bit字节的高位添加0组成8bit的字节,然后将每8...