요즘 개발하고 있는 프로그램에
javascript 에 있는 escape 함수가 필요해져서 삽질을 시작했다.

자바 스크립트로 테스트 html 페이지 만들어
ASCII 코드 ~127 까지 넣어보면서 -_- 삽질을 했다.

public static String escape(String string){
       StringBuffer sb = new StringBuffer();
       String ncStr = "*+-./0123456789@ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz";
       char c;
       
       for(int i=0;i<string.length();i++){
              c = string.charAt(i);
              if(c>0x7f){
                     sb.append("%u");
                     sb.append(Integer.toHexString((int)c).toUpperCase());
              }
              else if(ncStr.indexOf((int)c)==-1){
                     sb.append('%');
                     if(c<=0xf)
                            sb.append('0');
                     sb.append(Integer.toHexString((int)c).toUpperCase());
              }
              else
                     sb.append(c);
       }
       
       return sb.toString();
}