三九宝宝网宝宝百科宝宝知识

java版本的escape和unescape函数

11月09日 编辑 39baobao.com

[Excle函数中的最大值和最小值如何用]2填入一些数据作为事例。3选中一个放最大值的单元格。4找到顶部菜单栏中的公式-》自动求和-》最大值。5选择之后,系统会自动帮我们选择要计算的范围,你也可以自己选择你想...+阅读

有时候我们在处理页面提交过来的中文产生乱码不容易解决时,比如页面选择了别的编码,Examda提示: 而 AJAX 是用的 UTF-8 字符集,我们可以对要发送到服务器的中文用 Ja 的 escape 函数进行编码,然而 Ja 中又没有相应的 unescape 函数。

而且 Ja 中的 ja..URLDecoder/ja..URLEncoder 也对应不上 ja 的 encodeURI/decodeURI 和 encodeURIponent/decodeURIponent 函数。

Ja 的 escape/unescape 函数的代码。

public 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());

in

t 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("%u6211%u4eec"));

}

}

对于传送后偶尔会出现乱码的中文字符串用 ja 的 escape 编码后,传到服务器,就能用上面的方法 unescape 解码了,escape 与 encodeURI 可是不一样的

以下为关联文档:

EXCLE中的VLOOKUP函数如何使用2把表二的数据用VLOOKUP函数导入表一中3查找值:姓名一行数据表:选表二从姓名一列到对应的数据列列序数:从姓名一列到对应的数据列对应的列数匹配条件:写04得出对应数字,就往...

多条件求和函数Sumifs的用法2首先输入=sumif,然后按Tab键确定,我们要对数量进行求和,所以先将数量从头拉到尾(C2:C8),然后在C2:C8后面输入英文逗号,再选择第一个条件-日期(A2:A8),点击条件的具体内容,也就是大...

SUMIF求和函数的用法2第一种, 省略第三个参数时的情况,求语文成绩大于80分的总和,公式为=SUMIF(B2:B7,80)B2:B7为语文成绩所在的区域,80,为条件设定,这里必须要用才能有效3由于第三个参数省略,条件...

如何自定义函数2然后点击插入---模块,如图:3然后在模块1中出入,三角形面积公式函数(Function V(a,b,h)V = h*(a+b)/2End Function),如图:4关闭模块,自定义函数完成扩展选定区域快捷键End+Shi...

Excle怎么用函数在文字中提取手机号4通过以上计算,便可以轻松得出文本中的手机号,但是,在上例中也会出现一个问题,就是在手机号之前并未出现1,如果在更复杂的文本中,这个公式就会失灵,我们就要用到更为复杂的组合函数...

运用Excel三大条件函数解决实际问题秋尽冬至,又到一年年终时。在工作中,数据的运算量和汇总的操作一下比平时多了不少。众所周知,在Excel中可以对数据进行各种不同的运算和汇总,今天我向大家介绍与条件相关的函数...

SQLServer中的Rounding函数应用中使用四舍五入的值,我和我的用户在报表应用中的计算问题存在分歧。所有的代码都在T-SQL中,但是我认为报表问题与数据类型和向下取整或向上取整规则关系密切。请问您有没...

SqlServer基本函数1.字符串函数 长度与分析用 datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 substring(expression,start,length) 不多说了,取子串 right(char_expr,int_e...

WPS技巧:TRIMMEAN函数计算选手得分如图1就是某大奖赛的选手评分情况表。 图1 在“最后得分”一项中,我们可以用LARGE函数或SMALL函数来计算,如在J3中输入下面的公式: =AVERAGE(LARGE(B3:I3,{2,3,4,5,6,7})) 即可...

推荐阅读
图文推荐