将Hex的口音转换为HtmlEntity

时间:2016-04-22 09:44:31

标签: c# html unicode hex entity

这是我的unicode String >

  

Désastres

上述字符串需要转换为HTML实体(十六进制)为

$(document).ready(function () { var jsonURL = "js/phones.json"; $.getJSON(jsonURL, function (json) { var imgList= ""; $.each(json, function () { imgList += '<img class="img-responsive" src= "' + this.imgPath + '">'; }); $('#results').append(imgList); }); });

下面是代码,它将字符串转换为html entiry但是在Decimal中。

任何人都可以帮助我获得理想的结果吗?

D&#x00E9;sastres

阐释: this的可能重复是javascript / jquery

2 个答案:

答案 0 :(得分:1)

System.Web的引用添加到您的项目中并使用此方法:

using System.Web;
using System.Text.RegularExpressions, 

private string HtmlEntityHex(string strToReplace)
{
    string strReplaced = HttpUtility.HtmlEncode(strToReplace);
    MatchCollection xMatches = Regex.Matches(strReplaced, @"&#(\d+);");
    foreach (Match xMatch in xMatches)
    {
        strReplaced = strReplaced.Replace(xMatch.Groups[0].Value.ToString(), "&#" + int.Parse(xMatch.Groups[1].Value).ToString("X").PadLeft(4, '0') + ";");
    }
    return strReplaced;
}

答案 1 :(得分:0)

您只需要为整数使用正确的ToString()格式:

escaped.AppendFormat("&#x{0};", ((int)ch).ToString("X4"));