- 浏览: 749010 次
- 性别:
- 来自: 长春
文章分类
最新评论
-
qq591628420:
正解!!!!!!!!!!!!!!!!!!!!!!!!!! ...
ibatis配置log4j输出sql语句等日志信息 -
joy1982109:
我在was下发现一个同名的xml文件,是不是就是这个呢。不过没 ...
让webshere(was)发布程序编译jsp为java文件,java文件位置 -
xiaoqing2305:
...
jbuilder 2006中添加不支持的文件类型,不支持的不显示问题 -
metallicats:
非常感谢博主!
weblogic访问ORACLE,thin连接方式存取BLOB和CLOB字段(原创) -
lailaiping:
谢谢作者了
让webshere(was)发布程序编译jsp为java文件,java文件位置
<table width="773" border="0"
align="center" cellpadding="0" cellspacing="0">
<tr>
<td>
<script language=javascript>
var base64EncodeChars =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var base64DecodeChars = new Array(
-1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
52, 53, 54,
55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
-1, 0, 1,
2, 3, 4,
5, 6, 7,
8, 9, 10, 11, 12, 13, 14,
15, 16, 17,
18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-1, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
function base64encode(str) {
var out, i,
len;
var c1, c2,
c3;
len =
str.length;
i = 0;
out =
"";
while(i <
len) {
c1 =
str.charCodeAt(i++) & 0xff;
if(i ==
len)
{
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt((c1 & 0x3) << 4);
out += "==";
break;
}
c2 =
str.charCodeAt(i++);
if(i ==
len)
{
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2
& 0xF0) >> 4));
out += base64EncodeChars.charAt((c2 & 0xF) << 2);
out += "=";
break;
}
c3 =
str.charCodeAt(i++);
out +=
base64EncodeChars.charAt(c1 >> 2);
out +=
base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 &
0xF0) >> 4));
out +=
base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 &
0xC0) >>6));
out +=
base64EncodeChars.charAt(c3 & 0x3F);
}
return
out;
}
function base64decode(str) {
var c1, c2,
c3, c4;
var i, len,
out;
len =
str.length;
i = 0;
out =
"";
while(i <
len) {
/* c1
*/
do {
c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
} while(i
< len && c1 == -1);
if(c1 ==
-1)
break;
/* c2
*/
do {
c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
} while(i
< len && c2 == -1);
if(c2 ==
-1)
break;
out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
/* c3
*/
do {
c3 = str.charCodeAt(i++) & 0xff;
if(c3 == 61)
return out;
c3 = base64DecodeChars[c3];
} while(i
< len && c3 == -1);
if(c3 ==
-1)
break;
out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));
/* c4
*/
do {
c4 = str.charCodeAt(i++) & 0xff;
if(c4 == 61)
return out;
c4 = base64DecodeChars[c4];
} while(i
< len && c4 == -1);
if(c4 ==
-1)
break;
out +=
String.fromCharCode(((c3 & 0x03) << 6) | c4);
}
return
out;
}
function utf16to8(str) {
var out, i,
len, c;
out =
"";
len =
str.length;
for(i = 0; i
< len; i++) {
c =
str.charCodeAt(i);
if ((c >=
0x0001) && (c <= 0x007F)) {
out += str.charAt(i);
} else if (c
> 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) &
0x0F));
out += String.fromCharCode(0x80 | ((c >> 6)
& 0x3F));
out += String.fromCharCode(0x80 | ((c >> 0)
& 0x3F));
} else
{
out += String.fromCharCode(0xC0 | ((c >> 6)
& 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0)
& 0x3F));
}
}
return
out;
}
function utf8to16(str) {
var out, i,
len, c;
var char2,
char3;
out =
"";
len =
str.length;
i = 0;
while(i <
len) {
c =
str.charCodeAt(i++);
switch(c
>> 4)
{
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case
7:
// 0xxxxxxx
out += str.charAt(i-1);
break;
case 12: case 13:
// 110x xxxx 10xx xxxx
char2 = str.charCodeAt(i++);
out += String.fromCharCode(((c & 0x1F) << 6) | (char2
& 0x3F));
break;
case 14:
// 1110 xxxx 10xx xxxx 10xx
xxxx
char2 = str.charCodeAt(i++);
char3 = str.charCodeAt(i++);
out += String.fromCharCode(((c & 0x0F) << 12) |
((char2 & 0x3F) << 6) |
((char3 & 0x3F) << 0));
break;
}
}
return out;
}
function doit() {
var f =
document.f
f.output.value = base64encode(utf16to8(f.source.value))
f.decode.value = utf8to16(base64decode(f.output.value))
}
</script>
<H1 align="center">Base64编码加密
</H1>
<FORM NAME="f">
原码<BR>
<TEXTAREA NAME="source" ROWS=4 COLS=60
WRAP="soft"></TEXTAREA><BR><BR>
Base64 encode<BR>
<TEXTAREA NAME="output" ROWS=4 COLS=60
WRAP="soft"></TEXTAREA><BR><BR>
Base64 decode<BR>
<TEXTAREA NAME="decode" ROWS=4 COLS=60
WRAP="soft"></TEXTAREA><BR><BR>
<INPUT TYPE=BUTTON VALUE="转换" ONCLICK="doit()">
</FORM>
</td>
</tr>
</table>
发表评论
-
关于URIEncoding设置规则
2016-03-19 13:34 3741<!--[if !supportLists]--> ... -
oracle数据恢复
2013-11-29 15:51 1072这些恢复都是在数据库启用了undo表空间的情况下才好使的,并 ... -
windows 常用命令
2013-10-24 13:18 11851. 查看本机共享目录,删除共享目录 net share ... -
oracle 性能优化记录
2013-04-24 11:27 1198表缓存 适用小表全表扫描,数据基本不动的情况下,IO特别大 ... -
nginx 操作,启动、停止、重启
2012-11-01 16:47 45021查看nginx进程看看有没有启动,并可以查看进程ID [r ... -
vnc 常用操作笔记,启动vncserver,指定端口
2012-10-16 15:50 16039linux下启动vnc [root@anhnfts n ... -
eclipse jee 版,项目图标上总有一个红色的叉子
2012-10-08 15:39 12637eclipse 使用的时候项目 ... -
websphere6,7上修改类装载顺序为应用程序优先
2012-09-29 15:28 5940看附件吧,写在word里了, 想弄到这里太费劲了,不支持 ... -
axis2 在websphere上发布一般问题
2012-09-29 15:20 15477要想用axis2做的webservice在websphere上 ... -
mybatis 1.5.2 websphere下发布
2012-09-29 14:51 7540用mybatis1.5.2开发的j2ee项目,在tomcat ... -
axis2 修改发布webservice的路径
2012-09-27 16:29 6203Axis2,版本1.5.2,在做webservice开发的时候 ... -
vmware 虚拟机不能和主机联网的一般问题
2012-09-27 16:04 3371一,虚拟机,在外面访问不到里面的东西,还能ping通 ... -
jbuilder 2006中添加不支持的文件类型,不支持的不显示问题
2012-09-22 09:22 3110需要在jbuilder中添加一个ini文件,但是放到src目录 ... -
linux下释放经常拷贝文件导致的缓存占用
2011-12-26 14:56 5169由于Linux下频繁存取文件后,物理内存会很快被用光,当程序结 ... -
关于ping的次数,linux和windows下得写法,ping的时候不输出
2011-09-16 08:50 261371.限制ping次数 windows、下默认不设置次数的情况 ... -
关于request.setCharacterEncoding只限于表单是post的情况,如果是get的情况不好使
2011-09-08 08:58 15791.request.setChara ... -
SecureCRT启动tomcat时在SecureCRT中显示控制台日志信息
2011-04-08 14:12 3365启动linux下tomcat的方式主要用以下方式 tomca ... -
ms sqlserver 常用t-sql sql语句
2010-11-19 13:53 1372查看数据库版本select @@version -
windows下用cmd命令netstat查看系统端口使用情况
2010-11-14 16:26 38169其实很简单,大家可以在cmd窗口 C:\Documents ... -
properties使用笔记
2010-10-23 19:08 13631。 store 函数 String proFileName ...
相关推荐
`调用.txt`文件可能是测试这两种编码解码方法的简单脚本,它会调用Java和JavaScript中的函数,并比较结果是否一致,确保在不同环境下的Base64编码和解码是兼容的。 总之,Java和JavaScript中Base64编码和解码的实现...
Base64编码是一种将二进制数据转换为可打印ASCII字符的...前端使用Base64编码图片和文本,后端通过Servlet接口接收并解码,整个流程通过Ajax实现无刷新通信。这样的机制使得二进制数据可以在网络上高效、安全地传输。
在JavaScript中,Base64编码和解码是经常用到的功能,尤其是在处理图像、JSON数据或者进行跨平台通信时。 ### Base64编码原理 Base64编码的基本思想是将每3个字节(24位)的数据转换为4个6位的字符(共24位),然后...
在QT中,我们可以利用QByteArray类和QCryptographicHash类来实现Base64的编码和解码。QByteArray是QT中的一个用于处理字节序列的类,而QCryptographicHash则提供了一些加密哈希函数,其中包括Base64编码和解码。 1....
本资源演示Delphi代码,实现javascript能正确进行Base64解码,不出现上述2个问题。 解决思路:进行Base64前先进行URL编码,在进行URL编码的时候,注意设置不需要SpaceAsPlus选项。 javascript代码: let ...
通过Base64编码,可以将图片数据嵌入到网页源代码中,然后用JavaScript进行解码和渲染,这对于一些简单的网页应用或者离线应用是非常有用的。不过,对于大型或高分辨率的图像,Base64编码可能会使页面加载速度变慢,...
总的来说,"base64编码解码器"是处理二进制数据的重要工具,无论是后端的C++实现还是前端的应用场景,Base64编码都在数据传输和存储中扮演着不可或缺的角色。了解和掌握Base64编码解码原理及其实现方法,对于开发者...
总结来说,处理JavaScript中的中文Base64编码,关键在于正确地转换中文字符串到UTF-8字节数组,再进行Base64编码和解码。利用`TextEncoder` 和 `TextDecoder` API,或者Node.js的`Buffer`对象,可以有效地处理这个...
Base64编码是一种广泛用于网络数据传输和存储的编码方式,它将任意二进制数据转化为可...通过对这些源码的学习,你可以了解不同编程环境下Base64操作的细节,加深对编码解码原理的理解,并可能为自己的项目提供参考。
"Base64 编码解码工具"是一个应用程序,它提供了一个方便的界面来对数据进行Base64的编码和解码操作。尽管这个工具非常实用,但需要注意的是,根据描述,它并不支持对文件进行编码或解码。这意味着你可以输入纯文本...
本资源提供的是一套完整的JavaScript实现,能够与ASP.NET和JAVA平台的3DES加密解密及Base64编码解码功能保持兼容。 首先,3DES的工作原理是在DES的基础上增加了一次加密过程,即使用同一个密钥进行三次加密,这大大...
在实现Base64编码和解码算法时,开发者通常会使用预定义的查表方法,即创建一个包含64个Base64字符的数组,用于编码时的查找和解码时的映射。此外,现代编程语言通常内置了Base64编码和解码的库函数,如Python的`...
本文将深入探讨如何在JavaScript(JS)客户端和Java(Android)端实现3DES加密解密以及Base64编码解码,这对于保护用户敏感信息和实现安全通信至关重要。 首先,3DES(Triple Data Encryption Standard)是一种加强...
Base64编码是一种在网络上传输二进制数据时常用的数据编码方式,主要目的是将不可打印的二进制数据转换为可...提供的"001.Base64编码解码"文件可能就是一个很好的学习资源,包含了详细的实现代码和解释,值得深入研究。
而“工具”可能是指利用Base64编码的实用程序,如在线Base64编码解码器,它们可以帮助用户快速处理Base64字符串。 在提供的文件列表中,"base64"可能是包含Base64编码相关的代码示例或测试数据。通过查看这些文件,...
base62.js, node.js的javascript Base62编码/解码器 Base62.js JavaScript Base62编码/解码器什么是Base62编码?Base62编码将数字转换为ASCII字符串( 0 -9,一个z 和一个z ),反之亦然,这通常会导致比较短的字符串...
javascript版本的 base64解码和编码函数。
Base64编码是一种在互联网上...总的来说,Base64编码工具是实现数据在不同环境间安全、有效传输的重要辅助工具,无论是对文件还是自定义内容,都能提供便捷的编码和解码功能,极大地便利了开发者和普通用户的日常工作。
js实现base64编码解码 base64编码原理: base64可编码范围(ASCII字符范围内\u0000-\u00ff),所以每个字符必须8位,以3个字符为一组,转换为6bit的字节(3*8=4*6=24). 在每个6bit字节的高位添加0组成8bit的字节,然后将每8...
提供的"Base64ED"可能是一个包含Base64编码、转换和解码功能的代码库,可以方便地在程序中直接引用,以处理Base64相关的编码解码任务。 Base64编码的优点在于简单且易于实现,但也有其缺点,如编码后的数据长度会比...