oeacle
select utl_raw.cast_to_varchar2(utl_encode.base64_encode(rawtohex('888li666dong999bo')))
from dual;
javascript
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="lidongbo">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<script language="JavaScript">
<!--
function wr(str){
document.write(str);
}
function gl(str){
return document.getelementbyid(str);
}
function Base64() {
// private property
_keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
// public method for encoding
this.encode = function (input) {
var output = "";
var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
var i = 0;
input = _utf8_encode(input);
while (i < input.length) {
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);
}
return output;
}
// public method for decoding
this.decode = function (input) {
var output = "";
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
while (i < input.length) {
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);
}
}
output = _utf8_decode(output);
return output;
}
// private method for UTF-8 encoding
_utf8_encode = function (string) {
string = string.replace(/\r\n/g,"\n");
var utftext = "";
for (var n = 0; n < string.length; n++) {
var c = string.charCodeAt(n);
if (c < 128) {
utftext += String.fromCharCode(c);
} else if((c > 127) && (c < 2048)) {
utftext += String.fromCharCode((c >> 6) | 192);
utftext += String.fromCharCode((c & 63) | 128);
} else {
utftext += String.fromCharCode((c >> 12) | 224);
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
utftext += String.fromCharCode((c & 63) | 128);
}
}
return utftext;
}
// private method for UTF-8 decoding
_utf8_decode = function (utftext) {
var string = "";
var i = 0;
var c = c1 = c2 = 0;
while ( i < utftext.length ) {
c = utftext.charCodeAt(i);
if (c < 128) {
string += String.fromCharCode(c);
i++;
} else if((c > 191) && (c < 224)) {
c2 = utftext.charCodeAt(i+1);
string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
i += 2;
} else {
c2 = utftext.charCodeAt(i+1);
c3 = utftext.charCodeAt(i+2);
string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
i += 3;
}
}
return string;
}
}
//-->
</script>
<script type="text/javascript">
var b = new Base64();
var str = b.encode("888li666dong999bo");
wr("base64 encode:" + str+"<br>");
str = b.decode(str);
wr("base64 decode:" + str);
</script>
</html>
java jdk
import java.io.IOException;
public class Base64 {
/**
* 编码
* @param bstr
* @return String
*/
public static String encode(byte[] bstr){
return new sun.misc.BASE64Encoder().encode(bstr);
}
/**
* 解码
* @param str
* @return string
*/
public static byte[] decode(String str){
byte[] bt = null;
try {
sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
bt = decoder.decodeBuffer( str );
} catch (IOException e) {
e.printStackTrace();
}
return bt;
}
/**
* @param args
*/
public static void main(String[] args) {
String aa = "888li666dong999bo";//"nihao123";
aa = encode(aa.getBytes());
System.out.println(aa);
String str = aa;
String str2 = new String(decode(str));
System.out.println(str2);
// ODg4bGk2NjZkb25nOTk5Ym8=
}
}
分享到:
相关推荐
总的来说,尽管JDK 1.6没有内置Base64支持,但通过引入Apache Commons Codec或Guava库,开发者可以轻松地在旧版本的JDK中实现Base64编码和解码功能。确保正确地将库添加到项目构建路径,遵循库提供的API,即可解决...
在资源文件中的`解决JDK1.6下的Base64.jar`可能是包含了一个兼容JDK 1.6的Base64实现的第三方库,你可以直接将这个jar包添加到你的项目类路径中,这样就可以使用其中提供的Base64类而无需修改代码。添加方法通常包括...
总结来说,虽然JDK 1.6本身没有内置Base64支持,但通过引入Apache Commons Codec库,我们可以轻松地在JDK 1.6环境中实现Base64编码和解码。这对于需要处理Base64数据的项目至关重要,尤其是在与旧系统兼容或维护老...
通过以上步骤,可以在JDK 1.6环境中顺利地实现Base64的编码和解码功能,解决了Sun提供的Base64类不可用的问题。Apache Commons Codec不仅提供了强大的编码解码能力,而且具有很高的稳定性和兼容性,是处理Base64编码...
在JDK 1.6中,开发者需要依赖第三方库来实现Base64的编码和解码功能。其中,Apache Commons Codec库是一个广泛使用的解决方案。该库提供了`org.apache.commons.codec.binary.Base64`类,包含了`encodeBytes()`和`...
在实际开发中,我们应该尽量避免使用`sun.misc`包,因为它包含的类和方法是Oracle JDK的非标准实现,可能在不同的JDK供应商或版本中不可用。使用标准Java API或第三方库能确保代码的稳定性和可移植性。 此外,注意...
下面提供了一个完整的示例代码,用于演示如何在Java中实现Base64与byte[]之间的转换以及去除Base64中的换行符: ```java import java.util.Base64; import java.nio.charset.StandardCharsets; public class Base...
sun.misc.BASE64Decoder 其中包括 Android Base64Jar包 以及Java源代码 sun.misc.BASE64Decoder 其中包括 Android Base64Jar包 以及Java源代码 sun.misc.BASE64Decoder 其中包括 Android Base64Jar包 以及...
冲浪后发现JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中删除,也就是1.8版本后的jdk已经不再支持sun.misc.BASE64Decoder和sun.misc.BASE64Encoder。 这些JAR中可用的类和资源现在以文件中的内部格式存储...
在2022年的更新中,Oracle发布了适用于Windows 64位操作系统的JDK 1.8的新版本,即"jdk1.8(Windows x64 .exe)"。这个版本的发布对于Windows平台上的开发者来说是一个重要的更新,因为它包含了性能优化、安全修复和...
在Java JDK1.7中,字符串的BASE64编码解码可以使用sun.misc包下的BASE64Encoder和BASE64Decoder类来实现。 首先, lets 看一下BASE64编码的原理。BASE64编码是一种将二进制数据转换为ASCII字符串的方法,使用64个可...
Oracle JDK是Java Development Kit的官方实现,由Oracle公司提供,它包含了Java虚拟机(JVM)、编译器、调试器和其他工具,为开发者提供了完整的Java环境。在Linux系统上,JDK通常以压缩包的形式分发,例如"jdk-7u80...
### JDK与Oracle JDK冲突及其环境变量调整方法 在IT领域,特别是软件开发过程中,经常会遇到不同版本或类型的Java运行环境(JRE)和Java开发工具包(JDK)之间的兼容性问题。本文将针对“JDK和Oracle JDK冲突修改...
7. **运行环境**:虽然未明确指出,但执行这个Demo可能需要一个支持JDBC连接的数据库(如MySQL、Oracle等),以及Java开发环境(如JDK)和相关的库,如数据库驱动。 8. **应用场景**:这种技术常见于Web应用中,...
1. **JDK自带的Base64实现** 自Java 8开始,JDK提供了内置的Base64支持,位于`java.util.Base64`类中。这个类提供了一组静态方法,可以方便地进行Base64编码和解码。例如,你可以使用`Base64.getEncoder()....
标题中的“sun base64解码实现”是指在Java编程语言中使用内置的Sun JDK提供的Base64解码功能。Base64是一种用于将任意二进制数据编码为ASCII字符的编码方式,常用于在网络上传输包含二进制的数据,如图片、证书等。...
在本案例中,"jdk7_jdk8-oracle19C所需驱动.zip"是一个压缩包,包含了适用于Java 7和Java 8的Oracle JDBC驱动,用于连接到Oracle 19C数据库。 Oracle JDBC驱动,也被称为Oracle Thin Driver或ojdbc驱动,是Oracle...
Java Base64是一个用于处理Base64编码的库,它为Java开发者提供了便捷的方式来编码和解码Base64数据。Base64是一种在网络上传输二进制数据时常用的编码方式,因为HTTP、电子邮件等协议主要处理ASCII字符,而Base64...
Java 8及以后的版本提供了`java.util.Base64`类,它是官方推荐的Base64编码和解码的标准实现。`java.util.Base64.Decoder`接口提供了与`sun.misc.BASE64Decoder`类似的功能,可以用来解码Base64编码的字符串。例如,...
jdk8u121-arm64(aarch64) jdk8u121-arm64(aarch64)jdk8u121-arm64(aarch64)jdk8u121-arm64(aarch64)