關於我自己

2013年2月15日 星期五

Java - URLEncoder與Base64 編碼應用

Java - URLEncoder與Base64 編碼應用

java.net.URLEncoder.encode => 加密

java.net.URLDecoder.decode => 解密

最常用UTF-8跟Big5

API說明文件:
http://docs.oracle.com/javase/1.4.2/docs/api/java/net/URLEncoder.html

PS:0到9還有 ".", "-", "*", "_"等特殊符號不能編碼
Base64編碼

如果想用把特殊符號等編碼就用Base64

 請下載 commons-codec-1.7.jar 檔案


 如果把一堆參數加在一起編碼用 - 符號等做區隔

像姓名跟年紀跟性別等參數加在一起編碼

然後再接收端區分    例如:  姓名-年紀-性別


Code:
 import java.util.*;

public class Test03 {
    public static void main(String args[]){
        String Text1="ABC-DEF-GHI-JKL";
        List<String> list = new ArrayList<String>();
        System.out.println("文字長度 : "+Text1.length());
        int l =Text1.length();
        for(int i=0;i<=l;i++){
            if(i==0){
              // System.out.println(Text1.substring(0,i));
            }else{
              // System.out.println(Text1.substring(i-1,i));
              if(Text1.substring(i-1,i).equals("-"))
              {
                  System.out.println(Text1.substring(i-1,i));
                  System.out.println(" i : "+i);
                  list.add(String.valueOf(i));
              }
            }
        }
        System.out.println(" Size : "+list.size());
        System.out.println("<-----擷取----->");
        for(int j=0;j<list.size();j++)
        {
            System.out.println(list.get(j));
            if(j==0){
            System.out.println(Text1.substring(0,Integer.valueOf(list.get(j))-1));
            }else{
                System.out.println(Text1.substring(Integer.valueOf(list.get(j-1)),Integer.valueOf(list.get(j))-1));
            }
        }
    }
   
}