JAVA实现Base64编码的三种方式

简介: 摘要: Javabase64编码的三种方式   有如下三种方式: 方式一:commons-codec.jar Java代码  1. String base64String="whuang123"; 2.

摘要: Javabase64编码的三种方式   有如下三种方式: 方式一:commons-codec.jar Java代码  1. String base64String="whuang123"; 2. byte[] result = Base64.

Javabase64编码的三种方式

 

有如下三种方式:

方式一:commons-codec.jar

Java代码 

1. String base64String="whuang123";

2. byte[] result = Base64.encodeBase64(base64String.getBytes());

 

方式二:使用sun.misc.BASE64Encoder

Java代码 

1. /**

2. *编码

3. *

4. *@parambstr

5. *@returnString

6. */

7. publicstaticStringencode(byte[]bstr){

8. return new sun.misc.BASE64Encoder().encode(bstr);

9. }

10.

11. /**

12. *解码

13. *

14. *@paramstr

15. *@returnstring

16. */

17. publicstaticbyte[]decode(Stringstr){

18. byte[]bt=null;

19. try{

20. sun.misc.BASE64Decoderdecoder=newsun.misc.BASE64Decoder();

21. bt=decoder.decodeBuffer(str);

22. }catch(IOExceptione){

23. e.printStackTrace();

24. }

25.

26. returnbt;

27. }

 

方式三:使用com.sun.org.apache.xerces.internal.impl.dv.util.Base64

Java代码 

1. /***

2. *encodebyBase64

3. */

4. publicstaticStringencodeBase64(byte[]input)throwsException{

5. Classclazz=Class

6. .forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");

7. MethodmainMethod=clazz.getMethod("encode",byte[].class);

8. mainMethod.setAccessible(true);

9. ObjectretObj=mainMethod.invoke(null,newObject[]{input});

10. return(String)retObj;

11. }

12.

13. /***

14. *decodebyBase64

15. */

16. publicstaticbyte[]decodeBase64(Stringinput)throwsException{

17.  Class clazz=Class

18. .forName("com.sun.org.apache.xerces.internal.impl.dv.util.Base64");

19. MethodmainMethod=clazz.getMethod("decode",String.class);

20. mainMethod.setAccessible(true);

21. ObjectretObj=mainMethod.invoke(null,input);

22. return(byte[])retObj;

23. }

 

运行结果如下:

推荐使用方式一。

https://yq.aliyun.com/articles/52597

 

相关文章
|
12月前
|
Java
Java开发实现图片URL地址检验,如何编码?
【10月更文挑战第14天】Java开发实现图片URL地址检验,如何编码?
404 4
|
4月前
|
存储 Java 数据安全/隐私保护
Java技术栈揭秘:Base64加密和解密文件的实战案例
以上就是我们今天关于Java实现Base64编码和解码的实战案例介绍。希望能对你有所帮助。还有更多知识等待你去探索和学习,让我们一同努力,继续前行!
353 5
|
6月前
|
前端开发 JavaScript Java
Java中将图片转换为base64格式的技巧
这样,你就可以在Java中将图片转换为Base64格式了。这个方法的实现非常简单,只需要使用Java的内置库,无需任何额外的库。希望这个方法对你有所帮助。
384 22
|
12月前
|
Java
Java实现随机生成某个省某个市的身份证号?如何编码?
【10月更文挑战第18天】Java实现随机生成某个省某个市的身份证号?如何编码?
785 5
|
12月前
|
Java
Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
【10月更文挑战第14天】Java开发实现图片地址检验,如果无法找到资源则使用默认图片,如何编码?
235 2
|
安全 Java API
告别繁琐编码,拥抱Java 8新特性:Stream API与Optional类助你高效编程,成就卓越开发者!
【8月更文挑战第29天】Java 8为开发者引入了多项新特性,其中Stream API和Optional类尤其值得关注。Stream API对集合操作进行了高级抽象,支持声明式的数据处理,避免了显式循环代码的编写;而Optional类则作为非空值的容器,有效减少了空指针异常的风险。通过几个实战示例,我们展示了如何利用Stream API进行过滤与转换操作,以及如何借助Optional类安全地处理可能为null的数据,从而使代码更加简洁和健壮。
380 0
|
12月前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
313 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
存储 移动开发 Java
java核心之字符串与编码
java核心之字符串与编码
101 2
|
存储 安全 Java
"Java编码魔法:揭秘图片与文件的Base64神秘转换术,让数据在指尖跳跃!"
【8月更文挑战第16天】Base64编码在Java开发中常用于将二进制数据如图片转换为ASCII字符串以便传输。编码使用64个字符及等号填充,每3字节数据编码为4个字符。Java利用`java.util.Base64`类实现此功能:读取图片或文件为字节数组后进行编码。解码时将Base64字符串还原为字节数组并写入文件。需注意编码效率降低、不提供安全性及特殊字符兼容性等问题。掌握这些技巧有助于解决Web开发中的数据传输需求。
502 4
Java系列之:字符串UTF-8 编码格式转换位 UTF-32 【生僻字截取问题】
这篇文章讨论了在Java中处理包含生僻字的字符串时可能遇到的问题,并提供了一种解决方法:将字符串的编码格式从UTF-8转换为UTF-32,以确保每个字符都占用固定的字节数,从而避免在截取操作中破坏字符,示例代码展示了如何进行编码转换和字符串截取。

热门文章

最新文章