手机
当前位置:查字典教程网 >编程开发 >Java >Java实现BASE64编码和解码的方法
Java实现BASE64编码和解码的方法
摘要:BASE64和其他相似的编码算法通常用于转换二进制数据为文本数据,其目的是为了简化存储或传输。更具体地说,BASE64算法主要用于转换二进制...

BASE64和其他相似的编码算法通常用于转换二进制数据为文本数据,其目的是为了简化存储或传输。更具体地说,BASE64算法主要用于转换二进制数据为ASCII字符串格式。Java语言提供了一个非常好的BASE64算法的实现,。本文将简要地讲述怎样使用BASE64以及它是怎样工作的。

Base64的作用:主要不是加密,它主要的用途是把一些二进制数转成普通字符用于网络传输。由于一些二进制字符在传输协议中属于控制字符,不能直接传送需要转换一下就可以了。

第一种方式:

通过反射使用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; }

第二种方式:

使用commons-codec.jar

/** * @param bytes * @return */ public static byte[] decode(final byte[] bytes) { return Base64.decodeBase64(bytes); } /** * 二进制数据编码为BASE64字符串 * * @param bytes * @return * @throws Exception */ public static String encode(final byte[] bytes) { return new String(Base64.encodeBase64(bytes)); }

第三种方式:

/** * 编码 * @param bstr * @return String */ public static String encode(byte[] bstr){ return new sun.misc.BASE64Encoder().encode(bstr); } /** * 解码 * @param str * @return string */ public static byte[] decode(String str){ byte[] bt = null; try { sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder(); bt = decoder.decodeBuffer( str ); } catch (IOException e) { e.printStackTrace(); } return bt; }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持查字典教程网。

【Java实现BASE64编码和解码的方法】相关文章:

java中Filter过滤器处理中文乱码的方法

深入Java Robot实现控制鼠标和键盘的方法详解

Java 位图法排序的使用方法

java实现人民币大小写转换方法分享

java中servlet实现登录验证的方法

java实现单链表中是否有环的方法详解

Java实现验证码具体代码

关于java 图形验证码的解决方法

解析Java实现随机验证码功能的方法详解

java实现MD5加密算法的实例代码

精品推荐
分类导航