自己编写的java base64编码解码工具类使用起来很方便就分享出来了,以下的案例使用的base64 utf-8编码,如果想改gbk编码只需要传不同的值即可,下面来解析一下base64的使用。
package com.baidu; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; public class Demo { public static void main(String[] args) throws UnsupportedEncodingException { //base64编码 String base64 = getBase64("黑胡椒","UTF-8"); System.out.println(base64); //base64解码 String str = getStrFromBase64(base64,"UTF-8"); System.out.println(str); } public static String getBase64(String str,String charset){ byte[] bys = str.getBytes(Charset.forName(charset)); String base64 = Base64.encode(bys); return base64; } public static String getStrFromBase64(String base64Str,String charset) throws UnsupportedEncodingException{ byte[] bys = Base64.decode(base64Str); String str = new String(bys, "UTF-8"); return str; } }
以上base64代码运行之后输出的结果如下。
6buR6IOh5qSS 黑胡椒
Base64解析方法解析:
Base64.encode(bys);是base64编码,传入的参数是需要编码的字符串的byte[]字节数组,返回的是base64字符串。
Base64.decode(base64Str);是base64解码,传入的参数是base64字符串,返回的是一个字节数组,需要通过new String(bys, "UTF-8");转化为String类型的字符串。