`

java base64编码和解码案例

    博客分类:
  • Java
 
阅读更多
可以考虑使用javax.mail.internet.MimeUtility或者apache的org.apache.commons.codec.binary.Base64




使用commons-codec.jar
/**
     * @param bytes
     * @return
     */
    public static byte[] decode(final byte[] bytes) {
        return Base64.decodeBase64(bytes);
    }

    /**
     * 二进制数据编码为BASE64字符串
     *
     * @param bytes
     * @return
     * @throws Exception
     */
    public static String encode(final byte[] bytes) {
        return new String(Base64.encodeBase64(bytes));
    }





下面会提示:BASE64Encoder是内部专用 API, 可能会在未来发行版中删除
http://www.iteye.com/topic/605714
字符串编码解码
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);
	}
}



图片编码解码
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();
		}
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics