编码转换的方法

编码转换的方法

1.Unicode 转换中文

在这里插入图片描述

public App()
{
    var str = "class=%u5404%u7701%u4f53%u5f69&name=%u6c5f%u82cf%u4e03%u661f%u5f69";

    //第1种方法,最简洁
    var outStr1 = System.Web.HttpUtility.UrlDecode(str);

    //第2种方法,复杂一些
    var outStr2 = Regex.Unescape(str.Replace("%", "\\"));

    //第3种方法,更复杂一些
    var outStr3 = Unicode2CN(str);

    //第4种方法同方法3
    var outstr4 = Unicode2CN2(str);

}

private string Unicode2CN2(string str)
{
    str = str.Replace("%", "\\");
    string outStr = "";
    Regex reg = new Regex(@"(?i)\\u([0-9a-f]{4})");
    outStr = reg.Replace(str, delegate (Match m)
    {
        return ((char)int.Parse(m.Groups[1].Value, System.Globalization.NumberStyles.HexNumber)).ToString();
    });
    return outStr;
}

private string Unicode2CN(string str)
{
    str = str.Replace("%", "\\");
    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;
}

2.汉字转Unicode

    public static string CN2Unicode(string srcText)
        {
            if (srcText == "")
            {
                return "";
            }
            string dst = "";
            char[] src = srcText.ToCharArray();
            for (int i = 0; i < src.Length; i++)
            {
                byte[] bytes = Encoding.Unicode.GetBytes(src[i].ToString());
                string str = @"\u" + bytes[1].ToString("X2") + bytes[0].ToString("X2");
                dst += str;
            }
            return dst;
        }

3.字体编码的转换

链接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值