1. 程式人生 > 程式設計 >ASP.NET Core名稱空間System.Text.Encodings.Web介紹

ASP.NET Core名稱空間System.Text.Encodings.Web介紹

System.Text.Encodings.Web

空間包含表示 Web 編碼器的基類、表示 HTML、 和 Url 字元編碼的子類,以及表示僅允許編碼特定字元、字元範圍或碼位的篩選器的類。

    [ 定義來自 microsoft ]

該名稱空間有五個類,用於不同物件的編碼處理。

五個類

HtmlEncoder

表示 HTML 字元編碼。

ScriptEncoder

表示 JavaScript 字元編碼。

TextEncoder

Web 編碼器的基類。

TextEncoderSettings

表示僅允許特定 Unicode 碼位的篩選器。

UrlEncoder

表示 URL 字元編碼。

HtmlEncoder

HtmlEncoder 與HtmlEncoder.Default 的方法有以下幾種

Create、Default、Equals、ReferenceEquals

具體為

ASP.NETCore名稱空間System.Text.Encodings.Web介紹

我們一般只用到 HtmlEncoder.Default.Encode()

HtmlEncoder.Default.Encode()的用法

微軟官方的定義

使用HtmlEncoder.Default.Encode防止惡意輸入(即 JavaScript)損害應用

也就是說,會對一些符號、中文等進行編碼,使它不能按照原來的形式出現。

編碼

假設有一個新聞系統,使用者可以在新聞文章下評論,如果使用者評論時發www.cppcns.com

表了一段惡意的 javascript 程式碼。

若是系統不加以處理,那麼當其他使用者開啟這篇新聞時,會載入這個人的評論,就會執行這段惡意的 javascript 程式碼。

tmlEncoder.Default.Encode 可以把字串中的 特殊符號(包括中文) 轉為編碼

客棧

新建一個asp.net core 應用

在控制器加入以下方法

ASP.NETCore名稱空間System.Text.Encodings.Web介紹

編譯執行,開啟檢視

ASP.NETCore名稱空間System.Text.Encodings.Web介紹

可以看到,檢視 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介紹的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支援我們。程式設計客棧