,,java base64编码、解码的三种方式总结

,,java base64编码、解码的三种方式总结

这篇文章主要介绍了java base64编码、解码的三种方式,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下

1.用法介绍

方式一:DatatypeConverter

说明:使用jdk自带的DatatypeConverter.java类实现,但是jdk版本必须=1.6。

导入Java。io。unsupportedencodingexception

导入javax。XML。绑定。数据类型转换器;

编码

/**

* base64编码之方法一

* @解释一下DatatypeConverter.java实现

* @param str

* 待编码字符串

* @返回编码字符串

*/

公共静态字符串编码(字符串str) {

//base64字符串

string base 64 str=

尝试{

//字符串字节[]

byte[]data=str。getbytes(' utf-8 ');

//编码

base 64 str=数据类型转换器。打印base 64二进制(数据);

} catch(UnsupportedEncodingException e){

e。printstacktrace();

}

返回base64Str

}

解码

/**

* base64解码之方法一

* @解释一下DatatypeConverter.java实现

* @param base64Str

* 待解码字符串

* @返回解码字符串

*/

公共静态字符串解码(String base64Str) {

//解码后的字符串

string str=

//解码

byte[]base 64 data=datatype转换器。解析base 64二进制(base 64字符串);

尝试{

//字节[] -字符串

str=新字符串(base64Data,' utf-8 ');

} catch(UnsupportedEncodingException e){

e。printstacktrace();

}

返回字符串;

}

方式二:Base64

说明:使用jdk自带的Base64.java类实现,但是jdk版本必须=1.8。

导入Java。io。unsupportedencodingexception

导入Java。util。base64

编码

/**

* base64编码之方法二

* @解释一下Base64.java实现

* @param str

* 待编码字符串

* @返回编码字符串

*/

公共静态字符串编码2(字符串str) {

//base64字符串

string base 64 str=

尝试{

//字符串字节[]

byte[]data=str。getbytes(' utf-8 ');

//编码

base64Str=Base64.getEncoder().编码字符串(数据);

} catch(UnsupportedEncodingException e){

e。printstacktrace();

}

返回base64Str

}

解码

/**

* base64解码之方法二

* @解释一下Base64.java实现

* @param base64Str

* 待解码字符串

* @返回解码字符串

*/

公共静态字符串decode2(String base64Str) {

//解码后的字符串

string str=

//解码

byte[]base64数据=base64。获取解码器().解码(基数64 str);

尝试{

//字节[] -字符串

str=新字符串(base64Data,' utf-8 ');

} catch(UnsupportedEncodingException e){

e。printstacktrace();

}

返回字符串;

}

方式三:Base64

所需冲突包:commons-codec.jar

导入Java。io。unsupportedencodingexception

导入org。阿帕奇。公地。编解码器。二进制。base64

编码

/**

* base64编码之方法三

* @解释一下Base64.java实现

* @param str

* 待编码字符串

* @返回编码字符串

*/

公共静态字符串编码3(字符串str) {

//base64字符串

string base 64 str=

尝试{

//字符串字节[]

byte[]data=str。getbytes(' utf-8 ');

//编码

base64 str=base64。编码base 64字符串(数据)。replaceAll('\r\n ',' ');

} catch(UnsupportedEncodingException e){

e。printstacktrace();

}

返回base64Str

}

解码

/**

* base64解码之方法三

* @解释一下Base64.java实现

* @param base64Str

* 待解码字符串

* @返回解码字符串

*/

公共静态字符串decode3(String base64Str) {

//解码后的字符串

string str=

//解码

byte[]base 64数据=base 64。解码base 64(base 64 str);

尝试{

//字节[] -字符串

str=新字符串(base64Data,' utf-8 ');

} catch(UnsupportedEncodingException e){

e。printstacktrace();

}

返回字符串;

}

2.测试

公共静态void main(String[] args) {

字符串str='http://www.cnblogs.com/Marydon20170307';

string base64=base 64 utils。编码(字符串);//ahr 0 CDO VL 3d y 5 jbm jsb 2 dzlmnvbs 9 nyxj 5 ZG 9 umjaxnzamdc=

系统。出去。println(base64);

string str 2=base 64 utils。解码(base64);

系统。出去。println(字符串。equals(str 2));//真

}

3.效率比较

快-慢:方式二方式一方式三

因此,如果项目用的是jdk1.8,最佳选择是方式二;jdk1.6,最佳选择是方式一。

以上是java base64编解码三种方式总结的详细内容。更多关于java base64编解码的信息,请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: