1、首先列下一些基本的html转义字符
特殊字符
字符 | 十进制 | 转义字符 |
“ | " | " |
& | & | & |
< | < | < |
> | > | > |
不断开空格 |   | |
至于其他转义字符,请查看 http://jiangyongyuan.iteye.com/blog/393711
2、Html转义
可以用HTML 标记来为字符串加入样式,例如:
1
2
3
4
|
<?
xml
version="1.0" encoding="utf-8"?>
<
resources
>
<
string
name="welcome">Welcome to <
b
>Android</
b
>!</
string
>
</
resources
>
|
支持以下html元素:
· <b>文本加粗bold。
· <i>文本变斜体italic。
· <u>文本加下划线underline。
有时可能要创建一个样式化的文本资源,并可作为格式化串使用。通常这不能生效,因为String.format(String, Object...)方法会去除字符串内的所有的样式信息。解决方法是写入一段转义后的HTML标记,然后在格式化后再用fromHtml(String)恢复出这些样式。例如:
(1)将样式化的文本资源存储为转义后的HTML字符串:
1
2
3
|
<
resources
>
<
string
name="welcome_messages">Hello, %1$s! You have <b>%2$d new messages</b>.</
string
>
</
resources
>
|
在这个格式化字符串里,加入了一个<b>元素。注意左尖括号是用标记<转义过的HTML。
(2)然后,按照通常方式格式化字符串,并调用fromHtml(String) 把HTML文本转换成带样式的文本。
1
2
3
|
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username,mailCount);
CharSequence styledText = Html.fromHtml(text);
|
因为fromHtml(String)方法会格式化所有的HTML内容,所以要确保用htmlEncode(String)对带格式化文本的字符串内所有可能的HTML字符进行转义。比如,如果要把可能包含诸如“<”或“&”等字符的串作为参数传给String.format(),那么必须在格式化之前对这些字符进行转义。格式化后,再把字符串传入fromHtml(String),这些特殊字符就能还原成本来意义了。例如:
1
2
3
4
|
String escapedUsername = TextUtil.htmlEncode(username)
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), escapedUsername,mailCount);
CharSequence styledText = Html.fromHtml(text);
|
以上参考:http://www.cnblogs.com/meiyitian/articles/2221742.html
另外,再附上测试了的一点代码:
1
2
3
4
5
6
7
8
9
10
|
String inp =
"http://10.50.74.222/TV/0/9?Token=9$10.63.253.198$123&StartTime=1344002400&EndTime=1344006000"
;
try
{
String text = Html.fromHtml(inp).toString();
Log.d(
"aaa"
,text);
//http://10.50.74.222/TV/0/9?Token=9$10.63.253.198$123&StartTime=1344002400&EndTime=1344006000
}
catch
(Exception ex){
ex.printStackTrace();
}
|