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函式
- js 使用 DotNetObjectReference 呼叫 c# 函式JSObjectC#函式
- 手寫一個bind函式(大概)函式
- js的函式function(一)JS函式Function
- 手寫JS函式的call、apply、bindJS函式APP
- 編寫一個通用的事件監聽函式事件函式
- 請寫一個sleep(暫停)函式函式
- 如何寫一個作用域安全的建構函式函式
- 在Js中匿名函式的幾種寫法JS函式
- 寫了一個分段函式,引數是單個數字,執行函式 畫圖函式
- 分享一個自己寫的C# SqlHelperC#SQL
- 推薦一個js常用工具函式庫JS函式
- 兩個JS之間的函式互相呼叫JS函式
- vue在一個函式中呼叫另外一個函式Vue函式
- Typescript複雜型別的宣告:寫一個工具函式庫TypeScript型別函式
- JS不靠譜系列: 寫一個驗證過期時間的函式,包含jest單元測試JS函式
- 快速介紹幾個JS函式JS函式
- Js常用的函式JS函式
- (譯) 函式式 JS #2: 函式!函式JS
- C# 中的本地函式C#函式
- C#和TS/JS的對比學習02:函式與方法C#JS函式
- 如何編寫高質量的 JS 函式(1) -- 敲山震虎篇JS函式
- 寫一個函式找出給定陣列中的最大差值函式陣列
- 箭頭函式、簡寫函式、普通函式的區別函式
- 封裝一個元件 + 函式惰性思想(重寫應用)封裝元件函式
- js常見函式總結(一)JS函式
- JS陣列at函式(獲取最後一個元素的方法)介紹JS陣列函式
- js的函式和物件JS函式物件
- js函式中的this指向JS函式
- js中的匿名函式JS函式
- 用js寫的一個跑馬燈JS
- 零基礎寫一個格式化位元組數的函式函式
- js 常用函式JS函式
- 一個函式學excel函式Excel
- 前端面試題,寫出一個快速找出兩個陣列不同值的函式。前端面試題陣列函式
- Node.js 如何優雅的封裝一個實用函式的 npm 包Node.js封裝函式NPM
- 分享一下自己寫的PHP函式PHP函式
- js純函式學習筆記(一)JS函式筆記