Base64 编码解码

本文详细探讨了Base64编码的概念及其在Java中的应用,包括如何进行Base64编码和解码,以及在不同场景下使用Base64的原因和优势。通过实例代码展示了如何在Java中实现Base64的转换操作。
摘要由CSDN通过智能技术生成
import org.apache.commons.codec.binary.Base64;
/*import pt.log.LoggerUtil;*/

public class Base64Util {
	/**
	 * 对字符串BASE64编码
	 * 
	 * @param res
	 *            源字符串
	 * @param charset
	 *            字符集
	 * @return
	 */
	public static String encode(String res, String charset) {
		try {
			Base64 base = new Base64();
			if ((res != null) && (!"".equals(res))) {
				return new String(base.encode(res.getBytes(charset)));
			}
			return "";
		} catch (Exception e) {
			/*LoggerUtil.outLog(Level.INFO,
					"pt.util.Base64Util.encode(String,String):BASE64编码出错。");*/
			e.printStackTrace();
		}
		return "";
	}

	/**
	 * 对字符串BASE64编码
	 * 
	 * @param res
	 *            源字符串字节数组
	 * @return
	 */
	public static byte[] encodeByte(byte[] res) {
		try {
			Base64 base = new Base64();
			return base.encode(res);
		} catch (Exception e) {
			/*LoggerUtil.outLog(Level.INFO,
					"pt.util.Base64Util.encodeByte(byte[]):BASE64编码出错。");*/
			e.printStackTrace();
		}
		return null;
	}

	/**
	 * BASE64字符串解码
	 * 
	 * @param str
	 *            BASE64字符串
	 * @param charset
	 *            字符集
	 * @return
	 */
	public static String decode(String str, String charset) {
		try {
			return new String(new Base64().decode(str.getBytes()), charset);
		} catch (Exception e) {
			/*LoggerUtil.outLog(Level.INFO,
					"pt.util.Base64Util.decode(String,String):BASE64解码出错。");*/
		}
		return "";
	}

	/**
	 * BASE64字符串解码
	 * 
	 * @param str
	 *            BASE64字符串
	 * @return
	 */
	public static byte[] decode(String str) {
		try {
			return new Base64().decode(str.getBytes());
		} catch (Exception e) {
			/*LoggerUtil.outLog(Level.INFO,
					"pt.util.Base64Util.decode(String):BASE64解码出错。");*/
		}
		return null;
	}

	/**
	 * BASE64字符串解码
	 * 
	 * @param str
	 *            BASE64字符串字节数组
	 * @return
	 */
	public static byte[] decodeByte(byte[] str) {
		try {
			return new Base64().decode(str);
		} catch (Exception e) {
			/*LoggerUtil.outLog(Level.INFO,
					"pt.util.Base64Util.decodeByte(byte):BASE64解码出错。");*/
		}
		return null;
	}
	
	
	public static void main(String[] args)  throws Exception{
		//String str = "JIqE+LLBnbSgomWP3JjHu5DvnpfEa5RKt2SM8Q9igVyYCQwtTuYZayFgkA47ytA118+2Wwk9YX4wMX150FMVgRgXtpVGGpj+RTpRCVUgN+/V7jy2h4SPaOSTk/Pc/EO3Zc8V0QCiQPH5bafSbQjWGw==";
		String str="v6q+37rs19bU9ta1y7DXqNPDt6LGsdDFz6Kx7bHgusUxMzAyMDMxNjExMDA3NzQ2DQpGSER+MDAyNDAyMTQ0NH42NjQ2LTE2MTAyMC0wMDE1O7aptaUwMDYzNzA0ODQ0LTAwNjM3Mjg5MTM7xr7WpDk5MTg5MDA2ODUtOTkxODkwMDY4NjsoNjY0Ni3Mxsm9vq3TqrK/KTsoMDAwMDEwNDc0Nik7";
		System.out.println(new String(decode(str,"gbk")));
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值