首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

js java escape跟unescape函数

2012-12-19 
js java escape和unescape函数class? EscapeUnescape{?public static String? escape (String src)?{??int

js java escape和unescape函数

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));?}}

热点排行
Bad Request.