System.Text.Encodings.Web
空间包含表示 Web 编码器的基类、表示 HTML、javascript 和 Url 字符编码的子类,以及表示仅允许编码特定字符、字符范围或码位的筛选器的类。
[ 定义来自 microsoft ]
该命名空间有五个类,用于不同对象的编码处理。
五个类
| HtmlEncoder | 表示 HTML 字符编码。 |
| javaScriptEncoder | 表示 JavaScript 字符编码。 |
| TextEncoder | Web 编码器的基类。 |
| TextEncoderSettings | 表示仅允许特定 Unicode 码位的筛选器。 |
| UrlEncoder | 表示 URL 字符编码。 |
HtmlEncoder
HtmlEncoder 与HtmlEncoder.Default 的方法有以下几种
Create、Default、Equals、ReferenceEquals
具体为

我们一般只用到 HtmlEncoder.Default.Encode()
HtmlEncoder.Default.Encode()的用法
微软官方的定义
使用HtmlEncoder.Default.Encode防止恶意输入(即 JavaScript)损害应用
也就是说,会对一些符号、中文等进行编码,使它不能按照原来的形式出现。
编码
假设有一个新闻系统,用户可以在新闻文章下评论,如果用户评论时发表了一段恶意的 javascript 代码。
若是系统不加以处理,那么当其他用户打开这篇新闻时,会加载这个人的评hYhGubv论,就会执行这段恶意的 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.Textwww.easck.com.Encowww.easck.comdings.Web介绍的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。








