yanshi
BlogJava
首页
新随笔
联系
聚合
管理
随笔-8 评论-0 文章-1 trackbacks-0
java版本的escape和unescape函数 转的
package
com.trgc.common.util;
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());
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();
}
}
JQuery GB2312 JS页面采用escape()编码,然后使用上面的类解析出来
posted on 2010-02-02 10:37
岩石
阅读(144)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
<
2010年2月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
常用链接
我的随笔
我的评论
我的参与
留言簿
给我留言
查看公开留言
查看私人留言
随笔档案
2012年7月 (1)
2012年5月 (1)
2011年7月 (1)
2010年2月 (2)
2010年1月 (1)
2009年12月 (2)
文章分类
Effective java 读书笔记(1)
文章档案
2010年2月 (1)
网站
JAVA实例
JQUERY1.3文档
PROTOTYPE在线文档
SpringSecurity
搜索
最新评论
阅读排行榜
1. 条件查询(456)
2. ubuntu下配置java环境变量(280)
3. 高性能MYSQL读书笔记(242)
4. Eclipse常用快捷键 转(152)
5. java版本的escape和unescape函数 转的(144)
评论排行榜
1. Gentoo(0)
2. 高性能MYSQL读书笔记(0)
3. ubuntu下配置java环境变量(0)
4. 拖拽(0)
5. java版本的escape和unescape函数 转的(0)