Asp.Net中的字符串和HTML十进制编码转换实现代码
程序员文章站
2024-02-24 22:26:28
asp.net将字符串转为区码位编码,或者将区码位编码字符串转为对应的字符串内容。
数字;这种编码其实就是将单个字符转为对应的区码位(数字),然后区码位前...
asp.net将字符串转为区码位编码,或者将区码位编码字符串转为对应的字符串内容。
数字;这种编码其实就是将单个字符转为对应的区码位(数字),然后区码位前缀加上“”,后缀加上“;”组成,对于这种编码的字符串,浏览器会自动解析为对应的字符。
asp.net字符串和编码转换源代码和测试代码如下:
using system; using system.text.regularexpressions; public partial class purchase_property : system.web.ui.page { /// <summary> /// asp.net将字符串转为16进制区码位编码 /// </summary> /// <param name="s">要进行16进制区码位编码的字符串</param> /// <returns>编码后的16进制区码位字符串</returns> public string stringtounicodecodebit(string s) { if (string.isnullorempty(s) || s.trim() == "") return ""; string r = ""; for (int i = 0; i < s.length; i++) r += "" + ((int)s[i]).tostring() + ";"; return r; } public string rematchevaluator(match m) { return ((char)int.parse(m.groups[1].value)).tostring(); } /// <summary> /// asp.net将16进制区码位编码转为对应的字符串 /// </summary> /// <param name="s">16进制区码位编码的字符串</param> /// <returns>16进制区码位编码的字符串对应的字符串</returns> public string unicodecodebittostring(string s) { if (string.isnullorempty(s) || s.trim() == "") return ""; regex rx = new regex(@"(\d+);", regexoptions.compiled); return rx.replace(s, rematchevaluator); } protected void page_load(object sender, eventargs e) { string s = "asp.net区码位字符串"; s = stringtounicodecodebit(s);//转为编码 response.write(s); response.write("\n"); s = unicodecodebittostring(s);//编码转为字符串 response.write(s); } }
javascript版本可以参考下面:
function uncode(str) {//把编码转换成字符 return str.replace(/(x)?([^&]{1,5});?/g, function (a, b, c) { return string.fromcharcode(parseint(c, b ? 16 : 10)); }); } function encode(str) {//把字符转换成编码 var a = [], i = 0; for (; i < str.length; ) a[i] = str.charcodeat(i++); return "" + a.join(";") + ";"; }
上一篇: 495. Teemo Attacking
下一篇: HDU 1317:XYZZY