java版本的escape和unescape函数
来源:百度文库 编辑:神马文学网 时间:2024/04/28 14:49:43
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{
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{
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));
}
}
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
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
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));
}
}
java版本的escape和unescape函数
JavaScript escape/unescape编码的Java实现
用alternatives进行java版本的转换
escape utf8字符串的php实现
Java Properties load 函数
关于java调用window DLL里的函数的总结
关于Java日期处理函数.[不断更新] - feng_sundy的专栏 - CSDNBlo...
java中关于时间日期操作的常用函数
java中关于时间日期操作的常用函数
java中关于时间日期操作的常用函数
连环画的版本和量词
java时间操作函数汇总
J2EE和JAVA的关系
提示:通达信各个版本函数的准确性。 - 证券软件及数据交流区 - 理想股票论坛 - 中国人...
Printf和Scan函数的使用方法
你知道的Java和你不知道的Java
你知道的Java和你不知道的Java
版本库的创建和配置
第十三章 和其它版本的兼容
函数指针和指针函数
函数指针和指针函数
Java免费教程 Java源码下载 Java控件 Java实例基础 Java函数
用Java多媒体框架设计自动播放机 Java教程/Java源码/Java控件/Java函数/Java下载/Java实例
Java开发技术十年的回顾与展望 , j2,jdk,se,sun,api,版本,技术,su...