ASP.NET?Core命名空間System.Text.Encodings.Web介紹
System.Text.Encodings.Web
空間包含表示 Web 編碼器的基類、表示 HTML、JavaScript 和 Url 字符編碼的子類,以及表示僅允許編碼特定字符、字符范圍或碼位的篩選器的類。
[ 定義來(lái)自 microsoft ]
該命名空間有五個(gè)類,用于不同對(duì)象的編碼處理。
五個(gè)類
| 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)損害應(yīng)用
也就是說(shuō),會(huì)對(duì)一些符號(hào)、中文等進(jìn)行編碼,使它不能按照原來(lái)的形式出現(xiàn)。
編碼
假設(shè)有一個(gè)新聞系統(tǒng),用戶可以在新聞文章下評(píng)論,如果用戶評(píng)論時(shí)發(fā)表了一段惡意的 javascript 代碼。
若是系統(tǒng)不加以處理,那么當(dāng)其他用戶打開這篇新聞時(shí),會(huì)加載這個(gè)人的評(píng)論,就會(huì)執(zhí)行這段惡意的 javascript 代碼。
tmlEncoder.Default.Encode 可以把字符串中的 特殊符號(hào)(包括中文) 轉(zhuǎn)為編碼
示例
新建一個(gè)asp.net core 應(yīng)用
在控制器加入以下方法

編譯運(yùn)行,打開視圖

可以看到,視圖 a 的字符串按照原先的文字進(jìn)行輸出。而視圖 b 編碼后的文字會(huì)編碼特殊符號(hào)。
有編碼就有解碼,在這里不再贅述。
其它四個(gè)類的使用基本一致,這里就不再贅述
請(qǐng)參考
https://docs.microsoft.com/zh-cn/dotnet/api/system.text.encodings.web?view=netcore-2.0
到此這篇關(guān)于ASP.NET Core命名空間System.Text.Encodings.Web介紹的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- ASP.NET?Core在WebApi項(xiàng)目中使用Cookie
- ASP.NET Core使用HttpClient調(diào)用WebService
- ASP.NET?Core項(xiàng)目中調(diào)用WebService的方法
- 創(chuàng)建ASP.NET?Core?Web應(yīng)用程序并介紹項(xiàng)目模板
- asp.net core webapi文件上傳功能的實(shí)現(xiàn)
- 在IIS上部署ASP.NET Core Web API的方法步驟
- ASP.NET Core實(shí)現(xiàn)自定義WebApi模型驗(yàn)證詳解
- ASP.NET Core Web中使用AutoMapper進(jìn)行對(duì)象映射
相關(guān)文章
ASP.NET中 RadioButtonList 單選按鈕組控件的使用方法
本文主要簡(jiǎn)單介紹RadioButtonList控件的常見(jiàn)屬性和使用方法,希望對(duì)大家有所幫助。2016-04-04
.Net創(chuàng)建型設(shè)計(jì)模式之抽象工廠模式(Abstract?Factory)
這篇文章介紹了.Net設(shè)計(jì)模式之抽象工廠模式(Abstract?Factory),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
方法(Method)是一個(gè)已命名的語(yǔ)句集。如果以前使用過(guò)其他編程語(yǔ)言,如C或Visual Basic等,就可以將方法視為函數(shù)或者子程序相似的東西。每個(gè)方法都有一個(gè)名稱和一個(gè)主體。方法名應(yīng)該是一個(gè)有意義的標(biāo)識(shí)符,它應(yīng)描述出方法的用途(如CalculateIncomeTax)。方法主體包含了調(diào)用方法時(shí)實(shí)際執(zhí)行的語(yǔ)句。你可以為大多數(shù)方法提供一些數(shù)據(jù)來(lái)進(jìn)行處理,并讓它返回一些信息(通常是處理結(jié)果)。方法是一種基本的、功能強(qiáng)大的編程機(jī)制。2008-04-04

