您的位置:首页 > 编程语言 > ASP

2016-AspNet-MVC教学-9-Raw-Encode-Decode 比较测试

2016-05-04 16:27 537 查看
创建一个Asp.net MVC4 Basic类型项目.其中Index.cshtml代码如下:

@{
ViewBag.Title = "Index";
}
<i></i>
<h2>Raw-Encode-Decode 比较测试</h2>
@{
var str = "航天Aerospace<i>888</i>///";
}
<hr />
<h2>@Html.Encode(str)</h2>
<h2>@Url.Encode(str)</h2>
<hr />
<h2>@Html.Raw(Html.Encode(str))</h2>
<h2>@Html.Raw(Url.Encode(str))</h2>
<hr />
<h2>@Html.Raw(str)</h2>
<h2>
@Html.Raw(HttpUtility.HtmlDecode("航天Aerospace<i>888</i>///"))
</h2>
<h2>
@Html.Raw(HttpUtility.UrlDecode("%e8%88%aa%e5%a4%a9Aerospace%3ci%3e888%3c%2fi%3e%2f%2f%2f"))
</h2>


最后测试效果如下:



小结:

Url的编码格式采用的是ASCII码,而不是Unicode,这也就是说你不能在Url中包含任何非ASCII字符,例如中文。否则如果客户端浏览器和服务端浏览器支持的字符集不同的情况下,中文可能会造成问题。Url编码的原则就是使用安全的字符(没有特殊用途或者特殊意义的可打印字符)去表示那些不安全的字符。

Html编码,为了防止用户输入的留言等数据变成了影响界面的格式代码,或者杜绝XSS的发生。 所以我们需要对用户输入的数据进行HTML Encode处理。 将其中的”中括号”, “单引号”,“引号” 之类的特殊字符进行编码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: