Java Base64编码解码的三种方法概述是怎样的?

2026-05-16 07:053阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计742个文字,预计阅读时间需要3分钟。

Java Base64编码解码的三种方法概述是怎样的?

1. 使用方法介绍 - 方式一:使用DatatypeConverter 说明:利用JDK自带的DatatypeConverter类实现,但需确保JDK版本为1.6。 代码示例: java import java.io.UnsupportedEncodingException; import javax.xml.bind.DatatypeConverter;

// 编码 public static String encodeBase64(String data) throws UnsupportedEncodingException { return DatatypeConverter.printBase64Binary(data.getBytes(UTF-8)); }

// 解码 public static String decodeBase64(String base64) { return new String(DatatypeConverter.parseBase64Binary(base64), UTF-8); }

1.用法介绍

方式一:DatatypeConverter

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

import java.io.UnsupportedEncodingException; import javax.xml.bind.DatatypeConverter;

  编码

/** * base64编码之方法一 * @explain DatatypeConverter.java实现 * @param str * 待编码字符串 * @return 编码字符串 */ public static String encode(String str) { // base64字符串 String base64Str = ""; try { // String-->byte[] byte[] data = str.getBytes("utf-8"); // 编码 base64Str = DatatypeConverter.printBase64Binary(data); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return base64Str; }  

  解码

Java Base64编码解码的三种方法概述是怎样的?

/** * base64解码之方法一 * @explain DatatypeConverter.java实现 * @param base64Str * 待解码字符串 * @return 解码字符串 */ public static String decode(String base64Str) { // 解码后的字符串 String str = ""; // 解码 byte[] base64Data = DatatypeConverter.parseBase64Binary(base64Str); try { // byte[]-->String str = new String(base64Data, "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return str; }  

方式二:Base64

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

import java.io.UnsupportedEncodingException; import java.util.Base64;

  编码

/** * base64编码之方法二 * @explain Base64.java实现 * @param str * 待编码字符串 * @return 编码字符串 */ public static String encode2(String str) { // base64字符串 String base64Str = ""; try { // String-->byte[] byte[] data = str.getBytes("utf-8"); // 编码 base64Str =Base64.getEncoder().encodeToString(data); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return base64Str; }  

  解码

/** * base64解码之方法二 * @explain Base64.java实现 * @param base64Str * 待解码字符串 * @return 解码字符串 */ public static String decode2(String base64Str) { // 解码后的字符串 String str = ""; // 解码 byte[] base64Data = Base64.getDecoder().decode(base64Str); try { // byte[]-->String str = new String(base64Data, "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return str; } 

方式三:Base64

  所需jar包:commons-codec.jar

import java.io.UnsupportedEncodingException; import org.apache.commons.codec.binary.Base64;

  编码

/** * base64编码之方法三 * @explain Base64.java实现 * @param str * 待编码字符串 * @return 编码字符串 */ public static String encode3(String str) { // base64字符串 String base64Str = ""; try { // String-->byte[] byte[] data = str.getBytes("utf-8"); // 编码 base64Str =Base64.encodeBase64String(data).replaceAll("\r\n", ""); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return base64Str; }  

  解码

/** * base64解码之方法三 * @explain Base64.java实现 * @param base64Str * 待解码字符串 * @return 解码字符串 */ public static String decode3(String base64Str) { // 解码后的字符串 String str = ""; // 解码 byte[] base64Data = Base64.decodeBase64(base64Str); try { // byte[]-->String str = new String(base64Data, "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return str; }

2.测试

public static void main(String[] args) { String str = "www.cnblogs.com/Marydon20170307"; String base64 = Base64Utils.encode(str);// aHR0cDovL3d3dy5jbmJsb2dzLmNvbS9NYXJ5ZG9uMjAxNzAzMDc= System.out.println(base64); String str2 = Base64Utils.decode(base64); System.out.println(str.equals(str2));// true }

3.效率比较

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

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

以上就是java base64编码、解码的三种方式总结的详细内容,更多关于java base64编码、解码的资料请关注易盾网络其它相关文章!

本文共计742个文字,预计阅读时间需要3分钟。

Java Base64编码解码的三种方法概述是怎样的?

1. 使用方法介绍 - 方式一:使用DatatypeConverter 说明:利用JDK自带的DatatypeConverter类实现,但需确保JDK版本为1.6。 代码示例: java import java.io.UnsupportedEncodingException; import javax.xml.bind.DatatypeConverter;

// 编码 public static String encodeBase64(String data) throws UnsupportedEncodingException { return DatatypeConverter.printBase64Binary(data.getBytes(UTF-8)); }

// 解码 public static String decodeBase64(String base64) { return new String(DatatypeConverter.parseBase64Binary(base64), UTF-8); }

1.用法介绍

方式一:DatatypeConverter

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

import java.io.UnsupportedEncodingException; import javax.xml.bind.DatatypeConverter;

  编码

/** * base64编码之方法一 * @explain DatatypeConverter.java实现 * @param str * 待编码字符串 * @return 编码字符串 */ public static String encode(String str) { // base64字符串 String base64Str = ""; try { // String-->byte[] byte[] data = str.getBytes("utf-8"); // 编码 base64Str = DatatypeConverter.printBase64Binary(data); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return base64Str; }  

  解码

Java Base64编码解码的三种方法概述是怎样的?

/** * base64解码之方法一 * @explain DatatypeConverter.java实现 * @param base64Str * 待解码字符串 * @return 解码字符串 */ public static String decode(String base64Str) { // 解码后的字符串 String str = ""; // 解码 byte[] base64Data = DatatypeConverter.parseBase64Binary(base64Str); try { // byte[]-->String str = new String(base64Data, "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return str; }  

方式二:Base64

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

import java.io.UnsupportedEncodingException; import java.util.Base64;

  编码

/** * base64编码之方法二 * @explain Base64.java实现 * @param str * 待编码字符串 * @return 编码字符串 */ public static String encode2(String str) { // base64字符串 String base64Str = ""; try { // String-->byte[] byte[] data = str.getBytes("utf-8"); // 编码 base64Str =Base64.getEncoder().encodeToString(data); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return base64Str; }  

  解码

/** * base64解码之方法二 * @explain Base64.java实现 * @param base64Str * 待解码字符串 * @return 解码字符串 */ public static String decode2(String base64Str) { // 解码后的字符串 String str = ""; // 解码 byte[] base64Data = Base64.getDecoder().decode(base64Str); try { // byte[]-->String str = new String(base64Data, "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return str; } 

方式三:Base64

  所需jar包:commons-codec.jar

import java.io.UnsupportedEncodingException; import org.apache.commons.codec.binary.Base64;

  编码

/** * base64编码之方法三 * @explain Base64.java实现 * @param str * 待编码字符串 * @return 编码字符串 */ public static String encode3(String str) { // base64字符串 String base64Str = ""; try { // String-->byte[] byte[] data = str.getBytes("utf-8"); // 编码 base64Str =Base64.encodeBase64String(data).replaceAll("\r\n", ""); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return base64Str; }  

  解码

/** * base64解码之方法三 * @explain Base64.java实现 * @param base64Str * 待解码字符串 * @return 解码字符串 */ public static String decode3(String base64Str) { // 解码后的字符串 String str = ""; // 解码 byte[] base64Data = Base64.decodeBase64(base64Str); try { // byte[]-->String str = new String(base64Data, "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return str; }

2.测试

public static void main(String[] args) { String str = "www.cnblogs.com/Marydon20170307"; String base64 = Base64Utils.encode(str);// aHR0cDovL3d3dy5jbmJsb2dzLmNvbS9NYXJ5ZG9uMjAxNzAzMDc= System.out.println(base64); String str2 = Base64Utils.decode(base64); System.out.println(str.equals(str2));// true }

3.效率比较

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

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

以上就是java base64编码、解码的三种方式总结的详细内容,更多关于java base64编码、解码的资料请关注易盾网络其它相关文章!