Asp.Net中的字符串和HTML十進(jìn)制編碼轉(zhuǎn)換實(shí)現(xiàn)代碼
來(lái)源:易賢網(wǎng) 閱讀:1249 次 日期:2014-08-15 14:59:00
溫馨提示:易賢網(wǎng)小編為您整理了“Asp.Net中的字符串和HTML十進(jìn)制編碼轉(zhuǎn)換實(shí)現(xiàn)代碼”,方便廣大網(wǎng)友查閱!

Asp.Net將字符串轉(zhuǎn)為&#區(qū)碼位編碼,或者將&#區(qū)碼位編碼字符串轉(zhuǎn)為對(duì)應(yīng)的字符串內(nèi)容。

&#數(shù)字;這種編碼其實(shí)就是將單個(gè)字符轉(zhuǎn)為對(duì)應(yīng)的區(qū)碼位(數(shù)字),然后區(qū)碼位前綴加上“&#”,后綴加上“;”組成,對(duì)于這種編碼的字符串,瀏覽器會(huì)自動(dòng)解析為對(duì)應(yīng)的字符。

Asp.Net字符串和&#編碼轉(zhuǎn)換源代碼和測(cè)試代碼如下:

01 using System;

02 using System.Text.RegularExpressions;

03 public partial class purchase_property : System.Web.UI.Page

04 {

05 /// <summary>

06 /// Asp.Net將字符串轉(zhuǎn)為16進(jìn)制區(qū)碼位&#編碼

07 /// </summary>

08 /// <param name="s">要進(jìn)行16進(jìn)制區(qū)碼位編碼的字符串</param>

09 /// <returns>編碼后的16進(jìn)制區(qū)碼位&#字符串</returns>

10 public string StringToUnicodeCodeBit(string s)

11 {

12 if (string.IsNullOrEmpty(s) || s.Trim() == "") return "";

13 string r = "";

14 for (int i = 0; i < s.Length; i++) r += "&#" + ((int)s[i]).ToString() + ";";

15 return r;

16 }

17 public string reMatchEvaluator(Match m)

18 {

19 return ((char)int.Parse(m.Groups[1].Value)).ToString();

20 }

21 /// <summary>

22 /// Asp.Net將16進(jìn)制區(qū)碼位&#編碼轉(zhuǎn)為對(duì)應(yīng)的字符串

23 /// </summary>

24 /// <param name="s">16進(jìn)制區(qū)碼位編碼的字符串</param>

25 /// <returns>16進(jìn)制區(qū)碼位編碼的字符串對(duì)應(yīng)的字符串</returns>

26 public string UnicodeCodeBitToString(string s)

27 {

28 if (string.IsNullOrEmpty(s) || s.Trim() == "") return "";

29 Regex rx = new Regex(@"&#(\d+);", RegexOptions.Compiled);

30 return rx.Replace(s, reMatchEvaluator);

31 }

32 protected void Page_Load(object sender, EventArgs e)

33 {

34 string s = "Asp.Net區(qū)碼位字符串";

35 s = StringToUnicodeCodeBit(s);//轉(zhuǎn)為&#編碼

36 Response.Write(s);

37 Response.Write("\n");

38 s = UnicodeCodeBitToString(s);//&#編碼轉(zhuǎn)為字符串

39 Response.Write(s);

40 }

41 }

javascript版本可以參考下面:

01 function uncode(str) {//把&#編碼轉(zhuǎn)換成字符

02 return str.replace(/&#(x)?([^&]{1,5});?/g, function (a, b, c) {

03 return String.fromCharCode(parseInt(c, b ? 16 : 10));

04 });

05 }

06 function encode(str) {//把字符轉(zhuǎn)換成&#編碼

07 var a = [], i = 0;

08 for (; i < str.length; ) a[i] = str.charCodeAt(i++);

09 return "&#" + a.join(";&#") + ";";

10 }

更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專(zhuān)用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)