java base64 编码解码

import java.io.IOException;
import org.apache.commons.codec.binary.Base64;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class Test {

	public static void main(String[] args) {

		String a = "中国123abc";
		String base64str1 = apacheBase64Encode(a.getBytes());
		String base64str2 = sunBase64Encode(a.getBytes());
		System.out.println(base64str1);
		System.out.println(base64str2);
		System.out.println(new String(apacheBase64Decode(base64str1)));
		System.out.println(new String(sunBase64Decode(base64str1)));
		System.out.println(new String(apacheBase64Decode(base64str2)));
		System.out.println(new String(sunBase64Decode(base64str2)));
		
//		输出结果:
//		5Lit5Zu9MTIzYWJj
//		5Lit5Zu9MTIzYWJj
//		中国123abc
//		中国123abc
//		中国123abc
//		中国123abc
	}
	
	/**
	 * 使用commons-codec.jar进行base64解码
	 * org.apache.commons.codec.binary.Base64
	 * @param base64str
	 * @return
	 */
	public static byte[] apacheBase64Decode(String base64str){
		return Base64.decodeBase64(base64str);
	}
	
	/**
	 * 使用commons-codec.jar进行base64编码
	 * org.apache.commons.codec.binary.Base64
	 * @param b
	 * @return
	 */
	public static String apacheBase64Encode(byte[] b){
		return Base64.encodeBase64String(b);
	}
	
	/**
	 * 使用sun.misc.BASE64Decoder进行base64解码
	 * @param str
	 * @return
	 */
	@Deprecated
	public static byte[] sunBase64Decode(String str){
		BASE64Decoder sunBase64Decoder = new BASE64Decoder();
		try {
			return sunBase64Decoder.decodeBuffer(str);
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}
	/**
	 * 使用sun.misc.BASE64Encoder进行base64编码
	 * @param str
	 * @return
	 */
	@Deprecated
	public static String sunBase64Encode(byte[] b){
		BASE64Encoder sunBase64Encode = new BASE64Encoder();
		return sunBase64Encode.encode(b);
	}

}

 

你可能感兴趣的:(base64)