java url编码与解码 (钓鱼岛是中国的!)
来源:互联网 发布:阿里云80端口备案 编辑:程序博客网 时间:2024/05/17 02:57
源代码:http://yuncode.net/code/c_5060109b8555a82
主要是对js的url编码进行解码
运行效果:
01
/**
02
* java实现javascript中的escape和unescape函数
03
* 多用于URL编码与解码
04
*/
05
public
class
EscapeUnescape {
06
public
static
String escape(String src) {
07
int
i;
08
char
j;
09
StringBuffer tmp =
new
StringBuffer();
10
tmp.ensureCapacity(src.length() *
6
);
11
for
(i =
0
; i < src.length(); i++) {
12
j = src.charAt(i);
13
if
(Character.isDigit(j) || Character.isLowerCase(j)
14
|| Character.isUpperCase(j))
15
tmp.append(j);
16
else
if
(j <
256
) {
17
tmp.append(
"%"
);
18
if
(j <
16
)
19
tmp.append(
"0"
);
20
tmp.append(Integer.toString(j,
16
));
21
}
else
{
22
tmp.append(
"%u"
);
23
tmp.append(Integer.toString(j,
16
));
24
}
25
}
26
return
tmp.toString();
27
}
28
29
public
static
String unescape(String src) {
30
StringBuffer tmp =
new
StringBuffer();
31
tmp.ensureCapacity(src.length());
32
int
lastPos =
0
, pos =
0
;
33
char
ch;
34
while
(lastPos < src.length()) {
35
pos = src.indexOf(
"%"
, lastPos);
36
if
(pos == lastPos) {
37
if
(src.charAt(pos +
1
) ==
'u'
) {
38
ch = (
char
) Integer.parseInt(
39
src.substring(pos +
2
, pos +
6
),
16
);
40
tmp.append(ch);
41
lastPos = pos +
6
;
42
}
else
{
43
ch = (
char
) Integer.parseInt(
44
src.substring(pos +
1
, pos +
3
),
16
);
45
tmp.append(ch);
46
lastPos = pos +
3
;
47
}
48
}
else
{
49
if
(pos == -
1
) {
50
tmp.append(src.substring(lastPos));
51
lastPos = src.length();
52
}
else
{
53
tmp.append(src.substring(lastPos, pos));
54
lastPos = pos;
55
}
56
}
57
}
58
return
tmp.toString();
59
}
60
61
public
static
void
main(String[] args) {
62
String tmp =
"钓鱼岛是中国的!"
;
63
64
System.out.println(
"编码: "
+ escape(tmp));
65
System.out.println(
"解码: "
+ unescape(tmp));
66
}
67
}
- java url编码与解码 (钓鱼岛是中国的!)
- java url编码与解码
- java 中对url的编码与解码
- JAVA 对 URL 进行 编码与解码
- java对url编码与解码
- java中的url 编码与解码
- java中的url 编码与解码
- java中的url 编码与解码
- JAVA 对 URL 进行 编码与解码
- java中的url 编码与解码
- java中的url 编码与解码
- java中的url 编码与解码
- java中的url 编码与解码
- java中的url 编码与解码
- URL编码与解码
- URL编码与解码
- URL编码与解码
- URL编码与解码
- linux内核中USB总线的hub中断的调用
- 单例模式
- 线程编程
- Java api 全集 【API JDK1.6中文版】
- Python多进程并发(multiprocessing)
- java url编码与解码 (钓鱼岛是中国的!)
- ProtoBuf开发者指南
- Binary Tree Inorder Traversal
- 跨平台项目组织
- 解决mysql启动报错Starting MySQL.Manager of pid-file quit without updating file
- java.lang.NoSuchMethodError: org.apache.log4j.Category.log
- 念,心随君浅舞天涯
- 许多同学应该都还记得联考前夕的焦虑
- ubuntu12.04中opencv静态编译