空间包含表示 Web 编码器的基类、表示 HTML、JavaScript 和 Url 字符编码的子类,以及表示仅允许编码特定字符、字符范围或码位的筛选器的类。
[ 定义来自 microsoft ]
该命名空间有五个类,用于不同对象的编码处理。
五个类HtmlEncoder | 表示 HTML 字符编码。 |
JavaScriptEncoder | 表示 JavaScript 字符编码。 |
TextEncoder | Web 编码器的基类。 |
TextEncoderSettings | 表示仅允许特定 Unicode 码位的筛选器。 |
UrlEncoder | 表示 URL 字符编码。 |
HtmlEncoder 与HtmlEncoder.Default 的方法有以下几种
Create、Default、Equals、ReferenceEquals
具体为
我们一般只用到 HtmlEncoder.Default.Encode()
HtmlEncoder.Default.Encode()的用法
微软官方的定义
使用HtmlEncoder.Default.Encode
防止恶意输入(即 JavaScript)损害应用
也就是说,会对一些符号、中文等进行编码,使它不能按照原来的形式出现。
编码假设有一个新闻系统,用户可以在新闻文章下评论,如果用户评论时发表了一段恶意的 javascript 代码。
若是系统不加以处理,那么当其他用户打开这篇新闻时,会加载这个人的评论,就会执行这段恶意的 javascript 代码。
tmlEncoder.Default.Encode 可以把字符串中的 特殊符号(包括中文) 转为编码
示例新建一个asp.net core 应用
在控制器加入以下方法
编译运行,打开视图
可以看到,视图 a 的字符串按照原先的文字进行输出。而视图 b 编码后的文字会编码特殊符号。
有编码就有解码,在这里不再赘述。
其它四个类的使用基本一致,这里就不再赘述
请参考https://docs.microsoft.com/zh-cn/dotnet/api/system.text.encodings.web?view=netcore-2.0
到此这篇关于ASP.NET Core命名空间System.Text.Encodings.Web介绍的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持软件开发网。