论坛首页 Java企业应用论坛

java base64编码和解码案例

浏览 29016 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (7)
作者 正文
   发表时间:2010-03-02   最后修改:2010-03-05

import java.io.IOException;

public class Test {
	
	/**
	 * 编码
	 * @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) {
		test te = new test();
		String aa = "更多更多";
		aa = te.encode(aa.getBytes());
		System.out.println("----aa:"+aa);
		String str = aa;
		String str2 = new String(te.decode(str));
		System.out.println("-----str2:"+str2);
	}
}



   发表时间:2010-03-02   最后修改:2010-03-02
package palmcity.cpndservice.tool;

import java.io.FileInputStream;
import java.io.RandomAccessFile;

public class ImageTool {
	/**
	 * 图片BASE64 编码
	 */
	public static String getPicBASE64(String picPath) {
		String content = null;
		try {
			FileInputStream fis = new FileInputStream(picPath);
			byte[] bytes = new byte[fis.available()];
			fis.read(bytes);
			content = new sun.misc.BASE64Encoder().encode(bytes); // 具体的编码方法
			fis.close();
//			System.out.println(content.length());
		} catch (Exception e) {
			e.printStackTrace();
		}
		return content;
	}

	/**
	 * 对图片BASE64 解码
	 * 
	 */
	public static void getPicFormatBASE64(String str, String picPath) {
		try {
			byte[] result = new sun.misc.BASE64Decoder().decodeBuffer(str
					.trim());
			RandomAccessFile inOut = new RandomAccessFile(picPath, "rw"); // r,rw,rws,rwd
			// 用FileOutputStream亦可
			inOut.write(result);
			inOut.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}


提交一个BASE64对图片编码的
0 请登录后投票
   发表时间:2010-03-04  
buncycastle有这个功能了,很好用
0 请登录后投票
   发表时间:2010-03-04  
sun不推荐使用它们自己的base64,用apache的挺好,但需要注意,它默认使用mime会导致base64后写cookie有问题
0 请登录后投票
   发表时间:2010-03-04  
lydawen 写道
sun不推荐使用它们自己的base64,用apache的挺好,但需要注意,它默认使用mime会导致base64后写cookie有问题

apache的base64在哪个包里?
0 请登录后投票
   发表时间:2010-03-05  
sinostone 写道
lydawen 写道
sun不推荐使用它们自己的base64,用apache的挺好,但需要注意,它默认使用mime会导致base64后写cookie有问题

apache的base64在哪个包里?


没记错的话应该在commons-codec包里吧
0 请登录后投票
   发表时间:2010-12-30  
lydawen 写道
sun不推荐使用它们自己的base64,用apache的挺好,但需要注意,它默认使用mime会导致base64后写cookie有问题

有什么问题?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics