最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)BASE64編碼和解碼的方法

 更新時間:2016年11月11日 11:16:29   作者:hw1287789687  
本篇文章主要介紹了Java實現(xiàn)BASE64編碼和解碼的方法,BASE64編碼通常用于轉(zhuǎn)換二進制數(shù)據(jù)為文本數(shù)據(jù),有需要的可以了解一下。

BASE64和其他相似的編碼算法通常用于轉(zhuǎn)換二進制數(shù)據(jù)為文本數(shù)據(jù),其目的是為了簡化存儲或傳輸。更具體地說,BASE64算法主要用于轉(zhuǎn)換二進制數(shù)據(jù)為ASCII字符串格式。Java語言提供了一個非常好的BASE64算法的實現(xiàn),。本文將簡要地講述怎樣使用BASE64以及它是怎樣工作的。

Base64的作用:主要不是加密,它主要的用途是把一些二進制數(shù)轉(zhuǎn)成普通字符用于網(wǎng)絡(luò)傳輸。由于一些二進制字符在傳輸協(xié)議中屬于控制字符,不能直接傳送需要轉(zhuǎn)換一下就可以了。

第一種方式:
通過反射使用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); 
  } 
 
  /** 
   * 二進制數(shù)據(jù)編碼為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;  
  }  

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用Mybatis向PostgreSQL中插入并查詢JSON字段

    利用Mybatis向PostgreSQL中插入并查詢JSON字段

    這篇文章主要介紹了利用Mybatis向PostgreSQL中插入并查詢JSON字段,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • java Hibernate多對多映射詳解及實例代碼

    java Hibernate多對多映射詳解及實例代碼

    這篇文章主要介紹了java Hibernate多對多映射詳解及實例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • java去掉文本中多余的空格與空行實例代碼

    java去掉文本中多余的空格與空行實例代碼

    在最近的一個項目中發(fā)現(xiàn)用戶提交的數(shù)據(jù)中多了很多多余的空格與空行,為了不影響使用,只能想辦法去掉了,下面這篇文章主要給大家介紹了關(guān)于java去掉文本中多余的空格與空行的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • java本服務(wù)如何調(diào)用本服務(wù)接口

    java本服務(wù)如何調(diào)用本服務(wù)接口

    這篇文章主要介紹了java本服務(wù)如何調(diào)用本服務(wù)接口問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • springboot連接不上redis的三種解決辦法

    springboot連接不上redis的三種解決辦法

    這篇文章主要介紹了springboot連接不上redis的三種解決辦法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • springmvc九大組件之HandlerAdapter詳解

    springmvc九大組件之HandlerAdapter詳解

    這篇文章主要介紹了springmvc九大組件之HandlerAdapter詳解,RequestMappingHandlerAdapter支持的handler的類型是HandlerMethod,而HandlerMethod是通過解析@RequestMapping注解獲得的,需要的朋友可以參考下
    2023-11-11
  • SpringBoot深入探究@Conditional條件裝配的使用

    SpringBoot深入探究@Conditional條件裝配的使用

    這篇文章主要為大家介紹了SpringBoot底層注解@Conditional的使用分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • java利用Ant腳本生成war包全過程

    java利用Ant腳本生成war包全過程

    這篇文章主要為大家詳細介紹了java利用Ant腳本生成war包全過程,感興趣的朋友可以參考一下
    2016-03-03
  • IDEA 包轉(zhuǎn)模塊的解決步驟

    IDEA 包轉(zhuǎn)模塊的解決步驟

    很多朋友遇到這樣一個問題,直接在idea拉取代碼,發(fā)現(xiàn)創(chuàng)建的模塊包類型不一樣了,類似這樣的問題該如何處理呢?很多朋友向小編求助,在這統(tǒng)一回答大家,需要的朋友參考下本文吧
    2021-06-06
  • java實現(xiàn)隨機驗證碼圖片生成

    java實現(xiàn)隨機驗證碼圖片生成

    這篇文章主要為大家詳細介紹了java實現(xiàn)隨機驗證碼圖片生成,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論

安新县| 石城县| 民丰县| 卓尼县| 宁南县| 交口县| 太湖县| 汝州市| 霍城县| 巍山| 南通市| 枣庄市| 海宁市| 扶沟县| 潼关县| 色达县| 修文县| 长沙市| 天柱县| 贵南县| 张掖市| 隆化县| 墨脱县| 阿克陶县| 宣威市| 黑龙江省| 滁州市| 张家口市| 盐山县| 鲁甸县| 灵川县| 资兴市| 十堰市| 抚远县| 富源县| 霸州市| 石泉县| 化州市| 古田县| 辽中县| 周宁县|