例:
Decode(”) => ”Encode(”) => ”
相关课程:
.NET 4: System.Net.WebUtility.NET 3.5: System.Web.httpUtility
我可以理解一个网页可以是Unicode,但我的情况是输出不能是UTF8.
有什么东西(也许是一个HTMLWriter类)可以做到这一点,而我不必重新发明轮子?
替代方案:
string HTMLUnicodeEncode(string input){ var sb = new StringBuilder(); foreach (var c in input) { if (c > 127) { sb.AppendFormat("&#x{0:X4};",(int)c); } else { sb.Append(c); } } return sb.ToString();}解决方法 生成同构HTML编解码器对是不可能的.考虑:
HTMLDecode("”””””") -> ”””””
你怎么从“”“”“回到原来的字符串?
HTMLEncode必须选择一个编码为“,它适用于”作为最短,最可读的替代方案.只要您使用Unicode,这几乎肯定是最佳选择.
如果你不这样做,那就是另一个论点……& rdquo;是它比”稍微更具可读性,但它只适用于HTML(而不是XML),你仍然必须回退到所有没有内置实体名称的Unicode字符的字符引用,所以它不太一致.对于字符参考编码器,使用ASCII编码创建XmlTextWriter
并在其上调用writeString
.
以上是内存溢出为你收集整理的为什么HtmlEncode和HtmlDecode在.NET中不同构?全部内容,希望文章能够帮你解决为什么HtmlEncode和HtmlDecode在.NET中不同构?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)