Base64Utils java 常用Base64编码解码工具类

package com.mycode.util;

import java.nio.charset.Charset;
import org.apache.commons.codec.binary.Base64;

/**

  • Base64 工具类
  • @author lz

*/
public class Base64Utils {

private static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");

private static final Base64Delegate default_delegate = new CommonsCodecBase64Delegate();

public Base64Utils() {
}
/**
 * 内部定义接口
 */
private static interface Base64Delegate {

	public abstract byte[] encode(byte src[]);

	public abstract byte[] decode(byte src[]);
}

/**
 * 内部接口实现
 * @author lz
 *
 */
static class CommonsCodecBase64Delegate implements Base64Delegate {
    
	private final Base64 base64;
	
	public byte[] encode(byte src[]) {
		return base64.encode(src);
	}

	public byte[] decode(byte src[]) {
		return base64.decode(src);
	}


	private CommonsCodecBase64Delegate() {
		base64 = new Base64();
	}

}
/**
 * base64 编码
 * @param src
 * @return
 */
public static String encodeToString(byte src[]) {
	if (src == null){
		return null;
	}
	if (src.length == 0)
		return "";
	else
		return new String(default_delegate.encode(src), DEFAULT_CHARSET);
}
/**
 * Base64 解码,返回String
 * @param base64Str
 * @return
 */
public static String decodeToString(String base64Str) {
	if (base64Str == null)
		return null;
	if (base64Str.length() == 0)
		return "";
	else
		return new String(default_delegate.decode(base64Str.getBytes()),
				DEFAULT_CHARSET);
}
/**
 * Base64 解码,返回byte[]
 * @param base64Str
 * @return
 */
public static byte[] decodeToByte(String base64Str) {
	if (base64Str == null)
		return null;
	if (base64Str.length() == 0)
		return null;
	else
		return default_delegate.decode(base64Str.getBytes());
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值