C#寫一個js的escape函式
由於某種需要,要在server端對字串(主要是漢字)進行編碼,在頁面解碼.
C#裡有urlencode,但js沒有urldecode,所以想用js的escape編碼,但是C#裡沒有escape函式(我沒找到),這樣就需要自己寫一個escape編碼函式.
這是其他網友寫的編碼規則:
簡單的說,就是把空格、標點、帶音調標記的字元以及非 ASCII 字元都進行編碼,編碼規則是用 % 加上字元 ASCII 碼的 2 位十六進位制形式。
其實就是%uXXXX,其中XXXX就是漢字的十六進位制數.
我對編碼不太懂,請問這個C#函式該如何寫?只要寫出關鍵語句就可以.
注意:要是C#的escape編碼,而不是解碼!!!
HttpUtility.UrlEncodeUnicode(string)
就可以了
另外對於在寫cookie時比如:abcd@126.com,我們在寫入的時候即使不做任何處理,會自動編碼成abcd%40126.com,然後我們在伺服器端,比如c#裡讀取需要轉換HttpUtility.UrlDecode(cookieUEmail.Value.Trim()).ToString()
但是對於在寫cookie時用了escape(js,php,asp都有這個函式,但是c#沒有),在cookie裡格式為%25u4E03%25u90CE2007,這時我們需要反解碼兩遍,HttpUtility.UrlDecode(HttpUtility.UrlDecode(cookieUEmail.Value.Trim()).ToString()).ToString()
第一遍得到的結果是 %u4E03%25u90CE2007 其實這是標準的十六進位制
第二遍得到的結果是 七郎2007
相關文章
- 寫一個深度克隆函式函式
- js中在一個函式中引用另一個函式中的函式,可以這麼做JS函式
- RxJS Observable:一個奇特的函式JS函式
- 手寫一個bind函式(大概)函式
- 寫的第一個函式是log - todo函式
- 在JS中一個function函式要呼叫另一個函式裡的變數。JSFunction函式變數
- js編寫trim()函式JS函式
- 編寫一個通用的事件監聽函式事件函式
- 一個用lua編寫的自定義函式函式
- Asyncdb(一):寫一個純函式式的Mysql非同步驅動函式MySql非同步
- js的函式function(一)JS函式Function
- 7 個基本的 JS 函式JS函式
- js中的寫出想jquery中的函式一樣呼叫JSjQuery函式
- 如何寫一個作用域安全的建構函式函式
- 一個 JSer 的 Dart 學習日誌(一):函式JSDart函式
- js如何判斷一個函式是否存在JS函式
- 手寫CommonJS 中的 require函式JSUI函式
- 手寫JS函式的call、apply、bindJS函式APP
- 自己寫的和收藏的一寫php函式PHP函式
- 淺析一個函式呼叫另一個函式的變數函式變數
- escape函式處理帶加號字串問題函式字串
- 寫了一個分段函式,引數是單個數字,執行函式 畫圖函式
- vue在一個函式中呼叫另外一個函式Vue函式
- 分享一個自己寫的C# SqlHelperC#SQL
- Typescript複雜型別的宣告:寫一個工具函式庫TypeScript型別函式
- 編寫一個物件&&陣列深copy函式方法物件陣列函式
- 為LoadRunner寫一個lr_save_float函式函式
- 物件,函式作為一個函式的引數物件函式
- C#中含有多個Main函式的處理C#AI函式
- Vue.js 2 一個牛人寫的漸進式前端框架!Vue.js前端框架
- 推薦一個js常用工具函式庫JS函式
- js記一個根據欄位排序物件函式JS排序物件函式
- JS不靠譜系列: 寫一個驗證過期時間的函式,包含jest單元測試JS函式
- 用JAVASCIRPT寫的一個動態顯示日期的函式! (轉)Java函式
- 封裝一個元件 + 函式惰性思想(重寫應用)封裝元件函式
- C#中解構函式,Close函式,Dispose函式的區別C#函式
- js中函式的一些”坑“JS函式
- 兩個JS之間的函式互相呼叫JS函式