Java Base64编码和解码

来源:互联网 发布:淘宝一元拍网址 编辑:程序博客网 时间:2024/04/30 22:26

BASE64算法主要用于转换二进制数据为ASCII字符串格式。Java语言提供了一个非常好的BASE64算法的实现,即Apache Commons Codec工具包。

encodeBase64和decodeBase64 JAVA:

  /*** * encode by Base64 */public static String encodeBase64(byte[]input) throws Exception{Class clazz = Class.forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");Method mainMethod = clazz.getMethod("encode", byte[].class);mainMethod.setAccessible(true);Object retObj = mainMethod.invoke(null, new Object[]{input});return (String)retObj;}/*** * decode by Base64 */public static byte[] decodeBase64(String input) throws Exception{Class clazz = Class.forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");Method mainMethod = clazz.getMethod("decode", String.class);mainMethod.setAccessible(true);Object retObj = mainMethod.invoke(null, input);return (byte[])retObj;}
应用:

String str = "Hello World";byte[] encodestr = Base64.encodeBase64(str.getBytes("UTF-8"));System.out.println("RESULT: " + new String(encodestr));
输出的结果是:RESULT: SGVsbG8gV29ybGQ

输出的字符串是 hello world的8位二进制值连接在一起,然后以6位为分组。随后每个组都被转换成一个单独的数字并映射到BASE64的索引。



1 0
原创粉丝点击