首页 > Web开发 > 详细

URLDoBase64

时间:2019-02-19 13:32:12      阅读:172      评论:0      收藏:0      [点我收藏+]

import java.io.IOException;

import java.io.UnsupportedEncodingException;

import java.net.URLDecoder;

import java.net.URLEncoder;

 

import org.apache.log4j.Logger;

 

import sun.misc.BASE64Decoder;

import sun.misc.BASE64Encoder;

 

 

 

public class URLDoBase64 {

   private static final Logger LOG = Logger.getLogger(URLDoBase64.class);

    /**

     * 对base64编码的字符进行编码处理,以便于http传播 处理规则 ? (AAA) & (BBB) = (CCC) / (DDD) , (EEE) + (FFF) % (GGG) <

     * (HHH) > (III) # (JJJ)

     *

     * @param str

     * @return

     */

    public static String enURL(String str) {

         String sbase64=null;

        try {

           sbase64 = Base64.encode(str.getBytes("UTF-8"));

        } catch (UnsupportedEncodingException e) {

           e.printStackTrace();

        }

         return sbase64.replaceAll("\\?", "\\(AAA\\)").replaceAll("&", "\\(BBB\\)").replaceAll("=", "\\(CCC\\)").replaceAll("\\/", "\\(DDD\\)").replaceAll(",", "\\(EEE\\)").replaceAll("\\+", "\\(FFF\\)").replaceAll("%", "\\(GGG\\)").replaceAll("<", "\\(HHH\\)").replaceAll(">", "\\(III\\)").replaceAll("#", "\\(JJJ\\)").replaceAll(" ", "\\(KKK\\)");

       }

 

       /**

        * 对base64编码的字符进行解码处理 处理规则 ? (AAA) & (BBB) = (CCC) / (DDD) , (EEE) + (FFF) % (GGG) < (HHH) >

        * (III) # (JJJ)

        *

        * @param str

        * @return

        */

       public static String deURL(String str) {

        String re=str.replaceAll("\\(AAA\\)", "?").replaceAll("\\(BBB\\)", "&").replaceAll("\\(CCC\\)", "=").replaceAll("\\(DDD\\)", "/").replaceAll("\\(EEE\\)", ",").replaceAll("\\(FFF\\)", "+").replaceAll("\\(GGG\\)", "%").replaceAll("\\(HHH\\)", "<").replaceAll("\\(III\\)", ">").replaceAll("\\(JJJ\\)", "#").replaceAll("\\(KKK\\)", " ");

        byte [] bBase64 = Base64.decode(re);

        String s=null;

        try {

           s = new String(bBase64,"utf-8");

        } catch (UnsupportedEncodingException e) {

           e.printStackTrace();

        }

        return s;

       }

 

    public static void main(String[] args)

    {

      byte[] data={(byte) 0xfb,(byte)0xf0,(byte)0x01};

     

      String encodeBase64 = new BASE64Encoder().encode(data);

      String safeBase64Str = encodeBase64.replace(‘+‘, ‘-‘);

      safeBase64Str = safeBase64Str.replace(‘/‘, ‘_‘);

      safeBase64Str = safeBase64Str.replaceAll("=", "");     

     

      String s ="55(FFF)t5L(FFF)h57yW56CB5LiN6IO95Li656m6";

      System.out.println(deURL(s));

       

       

     

     

    }

}

 

URLDoBase64

原文:https://www.cnblogs.com/chinaifae/p/10400429.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!