<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    ☆藍色夢想☆

    世界總是反反覆覆錯錯落落地飄去 來不及嘆息 生活不是平平淡淡從從容容的東西 不能放棄
    posts - 57, comments - 5, trackbacks - 0, articles - 0

    java版本的escape和unescape函數

    Posted on 2005-12-22 13:40 ☆藍色夢想☆ 閱讀(619) 評論(0)  編輯  收藏 所屬分類: AJAX

    class  EscapeUnescape
    {
     public static String  escape (String src)
     {
      int i;
      char j;
      StringBuffer tmp = new StringBuffer();
      tmp.ensureCapacity(src.length()*6);

      for (i=0;i<src.length() ;i++ )
      {

       j = src.charAt(i);

       if (Character.isDigit(j) || Character.isLowerCase(j) || Character.isUpperCase(j))
        tmp.append(j);
       else
        if (j<256)
        {
        tmp.append( "%" );
        if (j<16)
         tmp.append( "0" );
        tmp.append( Integer.toString(j,16) );
        }
        else
        {
        tmp.append( "%u" );
        tmp.append( Integer.toString(j,16) );
        }
      }
      return tmp.toString();
     }

     public static String  unescape (String src)
     {
      StringBuffer tmp = new StringBuffer();
      tmp.ensureCapacity(src.length());
      int  lastPos=0,pos=0;
      char ch;
      while (lastPos<src.length())
      {
       pos = src.indexOf("%",lastPos);
       if (pos == lastPos)
        {
        if (src.charAt(pos+1)=='u')
         {
         ch = (char)Integer.parseInt(src.substring(pos+2,pos+6),16);
         tmp.append(ch);
         lastPos = pos+6;
         }
        else
         {
         ch = (char)Integer.parseInt(src.substring(pos+1,pos+3),16);
         tmp.append(ch);
         lastPos = pos+3;
         }
        }
       else
        {
        if (pos == -1)
         {
         tmp.append(src.substring(lastPos));
         lastPos=src.length();
         }
        else
         {
         tmp.append(src.substring(lastPos,pos));
         lastPos=pos;
         }
        }
      }
      return tmp.toString();
     }

     public static void main(String[] args)
     {
      String tmp="~!@#$%^&*()_+|\\=-,./?><;'][{}\"";
      System.out.println("testing escape : "+tmp);
      tmp =escape(tmp);
      System.out.println(tmp);
      System.out.println("testing unescape :"+tmp);
      System.out.println(unescape(tmp));
     }
    }

    主站蜘蛛池模板: 美女视频黄a视频全免费网站色窝| 污网站免费在线观看| 久久免费美女视频| 国产国拍亚洲精品福利| 免费国产va在线观看| 免费a级毛片永久免费| 精品成人一区二区三区免费视频| 夫妻免费无码V看片| 亚洲国产精品ⅴa在线观看| 国产成人高清精品免费软件| 无码亚洲成a人在线观看| 免费高清在线爱做视频| 在线观看亚洲专区| 亚洲精品视频在线看| yellow视频免费看| 亚洲人成人一区二区三区| 嫩草成人永久免费观看| 亚洲大香人伊一本线| 最近最好的中文字幕2019免费| 亚洲熟女综合一区二区三区| 国产免费av一区二区三区| 无码AV动漫精品一区二区免费| 国产亚洲日韩在线三区| 无码国产精品一区二区免费式芒果| 亚洲最大的成网4438| 在线观看av永久免费| 免费亚洲视频在线观看| 亚洲人成国产精品无码| 特级无码毛片免费视频尤物| 亚洲啪啪免费视频| 国产一区二区三区在线免费观看 | 亚洲av无一区二区三区| 国产zzjjzzjj视频全免费| 一级特黄录像免费播放肥| 亚洲高清美女一区二区三区| 国产一级淫片免费播放电影| 最近国语视频在线观看免费播放| 亚洲国产福利精品一区二区| 亚洲?V无码乱码国产精品| 91在线老王精品免费播放| 亚洲熟妇无码AV不卡在线播放|