2018-12-18 中文转unicode 符合js规则

 /// <summary>
    /// unicode 转中文(符合js规则)
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public static string UnicodeJsCodeToCN(string str)
    {
        string outStr = "";
        Regex reg = new Regex(@"(?i)%u([0-9a-f]{4})");
        outStr = reg.Replace(str,delegate(Match m)
        {
            return ((char)Convert.ToInt32(m.Groups[1].Value, 16)).ToString();
        });
        return outStr;
    }
    /// <summary>
    /// 中文转unicode 符合js规则
    /// </summary>
    /// <param name="str"></param>
    /// <returns></returns>
    public static string UnicodeJsCNToCode(string str)
    {
        string outStr = "";
        if (!string.IsNullOrEmpty(str))
        {
            for(int i=0;i<str.Length;i++)
            {
                if(Regex.IsMatch(str[i].ToString(),@"[\u4e00-\u9fa5]"))
                {
                    outStr += @"%u" + ((int)str[i]).ToString("x");
                }
                else
                {
                    outStr += str[i];
                }
            }
        }
        return outStr;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容