System.Text.Encodings.Web 命名空间
System.Text.Encodings.Web 命名空间
虽然 msdn 已经收入了,但目前还只在 GitHub 中以源码形式提供。
HttpUtility
有一些人提到用 System.Web.HttpUtility.HtmlDecode("\u12AB") 解码,这也行不通。
Html 编码是将标点符号转换成 %AB,或者大于小于符号转换成 >、<之类。
类似的还有 System.Net.WebUtility.HtmlDecode
自己实现的扩展方法
static Regex reUnicode = new Regex(@"\\u([0-9a-fA-F]{4})", RegexOptions.Compiled);
public static string JsonToString(this string s)
{
return reUnicode.Replace(s, tryParse);
string tryParse(Match m)
{
var c = (char)int.Parse(m.Groups[1].Value, NumberStyles.HexNumber);
return c.ToString();
}
}
本文探讨了System.Text.Encodings.Web命名空间中处理HTML编码的方法,包括使用HttpUtility和WebUtility进行解码的局限性,以及如何通过自定义扩展方法来正确解析Unicode转义序列。
1831

被折叠的 条评论
为什么被折叠?



