- 浏览: 68262 次
- 来自: ...
文章分类
最新评论
-
jyjava:
大哥你代码调试过吗
`itext 隐藏pdf工具栏 菜单栏 -
88567free:
3Q,需要这个
eclipse 相同变量的高亮 及颜色 -
whg333:
我也是不知道怎么的就弄没了,呵呵,谢了~
eclipse 相同变量的高亮 及颜色 -
尤迪安:
Thank you!
eclipse 相同变量的高亮 及颜色
package com.avetti.util;
/**
* A Base64 Encoder/Decoder.
*
* <p>
* This class is used to encode and decode data in Base64 format as described in RFC 1521.
*
* <p>
* This is "Open Source" software and released under the <a href="http://www.gnu.org/licenses/lgpl.html">GNU/LGPL</a> license.<br>
* It is provided "as is" without warranty of any kind.<br>
* Home page: <a href="http://www.source-code.biz">www.source-code.biz</a><br>
*
* <p>
* Method encode(String) renamed to encodeString(String).<br>
* Method decode(String) renamed to decodeString(String).<br>
* New method encode(byte[],int) added.<br>
* New method decode(String) added.<br>
*/
public class BASE64Encoder {
// Mapping table from 6-bit nibbles to Base64 characters.
private static char[] map1 = new char[64];
static {
int i=0;
for (char c='A'; c<='Z'; c++) map1[i++] = c;
for (char c='a'; c<='z'; c++) map1[i++] = c;
for (char c='0'; c<='9'; c++) map1[i++] = c;
map1[i++] = '+'; map1[i++] = '/'; }
// Mapping table from Base64 characters to 6-bit nibbles.
private static byte[] map2 = new byte[128];
static {
for (int i=0; i<map2.length; i++) map2[i] = -1;
for (int i=0; i<64; i++) map2[map1[i]] = (byte)i; }
/**
* Encodes a string into Base64 format.
* No blanks or line breaks are inserted.
* @param s a String to be encoded.
* @return A String with the Base64 encoded data.
*/
public static String encodeString (String s) {
return new String(encode(s.getBytes())); }
/**
* Encodes a byte array into Base64 format.
* No blanks or line breaks are inserted.
* @param in an array containing the data bytes to be encoded.
* @return A character array with the Base64 encoded data.
*/
public static char[] encode (byte[] in) {
return encode(in,in.length); }
/**
* Encodes a byte array into Base64 format.
* No blanks or line breaks are inserted.
* @param in an array containing the data bytes to be encoded.
* @param iLen number of bytes to process in <code>in</code>.
* @return A character array with the Base64 encoded data.
*/
public static char[] encode (byte[] in, int iLen) {
int oDataLen = (iLen*4+2)/3; // output length without padding
int oLen = ((iLen+2)/3)*4; // output length including padding
char[] out = new char[oLen];
int ip = 0;
int op = 0;
while (ip < iLen) {
int i0 = in[ip++] & 0xff;
int i1 = ip < iLen ? in[ip++] & 0xff : 0;
int i2 = ip < iLen ? in[ip++] & 0xff : 0;
int o0 = i0 >>> 2;
int o1 = ((i0 & 3) << 4) | (i1 >>> 4);
int o2 = ((i1 & 0xf) << 2) | (i2 >>> 6);
int o3 = i2 & 0x3F;
out[op++] = map1[o0];
out[op++] = map1[o1];
out[op] = op < oDataLen ? map1[o2] : '='; op++;
out[op] = op < oDataLen ? map1[o3] : '='; op++; }
return out; }
/**
* Decodes a string from Base64 format.
* @param s a Base64 String to be decoded.
* @return A String containing the decoded data.
* @throws IllegalArgumentException if the input is not valid Base64 encoded data.
*/
public static String decodeString (String s) {
return new String(decode(s)); }
/**
* Decodes a byte array from Base64 format.
* @param s a Base64 String to be decoded.
* @return An array containing the decoded data bytes.
* @throws IllegalArgumentException if the input is not valid Base64 encoded data.
*/
public static byte[] decode (String s) {
return decode(s.toCharArray()); }
/**
* Decodes a byte array from Base64 format.
* No blanks or line breaks are allowed within the Base64 encoded data.
* @param in a character array containing the Base64 encoded data.
* @return An array containing the decoded data bytes.
* @throws IllegalArgumentException if the input is not valid Base64 encoded data.
*/
public static byte[] decode (char[] in) {
int iLen = in.length;
if (iLen%4 != 0) throw new IllegalArgumentException ("Length of Base64 encoded input string is not a multiple of 4.");
while (iLen > 0 && in[iLen-1] == '=') iLen--;
int oLen = (iLen*3) / 4;
byte[] out = new byte[oLen];
int ip = 0;
int op = 0;
while (ip < iLen) {
int i0 = in[ip++];
int i1 = in[ip++];
int i2 = ip < iLen ? in[ip++] : 'A';
int i3 = ip < iLen ? in[ip++] : 'A';
if (i0 > 127 || i1 > 127 || i2 > 127 || i3 > 127)
throw new IllegalArgumentException ("Illegal character in Base64 encoded data.");
int b0 = map2[i0];
int b1 = map2[i1];
int b2 = map2[i2];
int b3 = map2[i3];
if (b0 < 0 || b1 < 0 || b2 < 0 || b3 < 0)
throw new IllegalArgumentException ("Illegal character in Base64 encoded data.");
int o0 = ( b0 <<2) | (b1>>>4);
int o1 = ((b1 & 0xf)<<4) | (b2>>>2);
int o2 = ((b2 & 3)<<6) | b3;
out[op++] = (byte)o0;
if (op<oLen) out[op++] = (byte)o1;
if (op<oLen) out[op++] = (byte)o2; }
return out; }
// Dummy constructor.
private BASE64Encoder() {}
} // end class Base64Coder
发表评论
-
SAX解析xml
2011-03-13 18:13 600import java.io.FileInputStream; ... -
dom4j解析xml
2011-02-26 16:15 998import java.io.StringReader; ... -
FTP客户端
2011-02-19 11:02 1713import java.io.DataInputStre ... -
java sax动态生成xml,大量数据时、防止内存溢出
2011-02-18 14:39 2579import java.io.File; import ... -
java dom方法生成xml,少量数据时,可以使用
2011-02-17 15:34 1350import java.io.FileOutputStr ... -
BigDecimal
2010-12-07 20:14 2511BigDecimal的应用: package com.p ... -
`itext 隐藏pdf工具栏 菜单栏
2010-07-07 23:10 2937package example.iText; impor ... -
图片缩放
2008-06-10 12:00 739private BufferedImage reSizeIma ... -
jar扩展包位置
2009-02-05 17:10 976当你需要外部包时,把它放在jdk\jre\ext文件夹中就行了 ... -
javamail 发送邮件 乱码处理
2009-03-19 10:45 987import java.io.UnsupportedEnc ... -
读取资源文件
2009-03-20 12:35 684import java.io.IOException; im ... -
反射无参方法
2009-08-05 16:00 773import java.io.File; import ja ... -
java 知识点
2009-08-18 09:25 770Ljava.lang.String 表示一个 ... -
将对象保存到文件
2009-09-01 10:39 992从文件读取对象 /** * get file p ... -
将数据导出到excel与日期格式的设置
2009-09-01 11:54 2023//将数据导出到excel private HSSFWork ... -
下载文件
2009-09-01 13:05 948//从站点上下载文件 public File downloa ... -
日期计算与格式化
2009-09-01 13:12 811import java.util.Calendar; imp ... -
在JList或者JTable的中加入checkbox
2009-12-30 22:56 1289public class RadioButtonPan ... -
Java 位运算符
2009-12-31 11:13 822Java定义的位运算(bitwiseoperators)直 ... -
将文件夹中的文件压缩到zip
2010-02-05 11:00 1206import java.util.zip.ZipEntry; ...
相关推荐
在这个"BASE64Encoder.zip"压缩包中包含了一个名为"BASE64Encoder.jar"的文件,这很可能是一个Java实现的BASE64编码和解码工具。 在Java中,`java.util.Base64`类库提供了对BASE64编码和解码的支持。这个"BASE64...
BASE64Encoder.jar 是一个Java实现的Base64编码解码工具包,它主要用于在ASCII字符串和二进制数据之间进行转换。Base64是一种网络上常见的数据编码方式,尤其在电子邮件、HTTP传输以及XML文档中广泛使用。这是因为...
Base64Encoder.jar包是Java开发中用于进行Base64编码和解码的工具包,它可以帮助开发者在处理数据时,将二进制数据转换为可打印的ASCII字符串,反之亦然。在Java标准库中,虽然已经包含了`java.util.Base64`类来执行...
在Java编程语言中,`sun.misc.BASE64Encoder`和`BASE64Decoder`是用于进行Base64编码和解码的内部类,它们属于`sun.misc`包,这是一个非公开(非标准)的Java库。`sun.misc`包中的类主要用于JVM内部使用,因此在官方...
最近项目实验发现导入工具程序后项目有错,查看发现sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用,找不到相应的类。 二、原因分析 冲浪后发现JDK中的lib\tools.jar和JRE中的lib\rt.jar已从Java SE 9中...
在Java编程语言中,`sun.misc.BASE64Encoder` 和 `sun.misc.BASE64Decoder` 是两个用于Base64编码和解码的内部类,它们位于`sun.misc`包下。Base64是一种用于在网络上传输二进制数据的文本编码方式,它将任意的字节...
在Java中,`BASE64Encoder`和`BASE64Decoder`是两个核心类,分别用于对数据进行BASE64编码和解码。 `BASE64Encoder`类: 这个类在Java SDK中位于`javax.crypto`包下,主要负责将字节序列(byte array)转换为BASE...
`sun.misc.BASE64Encoder`和`sun.misc.BASE64Decoder`就是这样的两个类,它们分别用于Base64编码和解码。 Base64是一种用于将二进制数据转换为可打印ASCII字符的编码方式,常用于在网络上传输二进制数据,如电子...
啥都不说了,CSDN都要30多分,抢钱啊,我着急下载,没有那么多分,对那些...android需要的BASE64Encoder的jar包,欢迎大家下载使用,为什么要5分,是因为,为了下载这么个破jar包,我花干了我的分,也是为了凑够字数。
在Java编程中,`sun.misc.BASE64Encoder` 类曾是Java标准库早期版本中用于进行Base64编码的一个工具类。然而,由于这个类属于Sun Microsystems的内部实现细节,自Java 9开始,它被标记为废弃,并在后续版本中逐步...
然而,需要注意的是,这两个类自JDK 9起已被弃用,建议使用`java.util.Base64`包中的`Base64.getEncoder()`和`Base64.getDecoder()`方法来进行BASE64的编码和解码工作。 #### 示例代码分析 给出的代码示例展示了...
在Java中,`sun.misc.BASE64Encoder`和`sun.misc.BASE64Decoder`是用于处理BASE64编码和解码的类,它们位于`sun.misc`包下,这是一个非公开的、由Sun Microsystems提供的包,主要用于JVM内部使用。 然而,需要注意...
在Java平台上,`sun.misc.BASE64Encoder`类被用来实现BASE64编码,但需要注意的是,这个类属于Java的非公开(sun.misc)包,官方并不推荐直接使用。 首先,我们来深入理解一下BASE64编码。BASE64编码是一种基于64个...
Base64Encoder是一种工具或函数,它主要用于将图像文件转换为Base64编码字符串。Base64是一种在不支持二进制数据传输的环境中传递二进制数据的常见方法,如在HTML、CSS或JavaScript中。它通过将二进制数据转化为...
将BASE64Encoder编码与普通字节的互相转换,很好用!
`Base64.Encoder`接口代表Base64编码器,而`Base64.Decoder`接口代表Base64解码器。你可以通过`Base64.getEncoder()`和`Base64.getDecoder()`获取默认的编码器和解码器实例。例如: ```java import java.util.Base...
sun.misc.BASE64Encoder 找不到jar包
BASE64Encode 编码,在andorid没有这个编码,这里面有打成jar包,可以导进去。用源代码打包的。手懒不愿意自己弄得话,可以下载导进去。里面附带着源代码,也可将源代码开进去直接使用,希望能帮助大家。