首页 新闻 会员 周边 捐助

C#里的字符串转16进制ASCII 就像这样的

0
悬赏园豆:5 [已解决问题] 解决于 2009-11-08 21:04

C#里的字符串转16进制ASCII 就像这样的

郑州  %d6%a3%d6%dd&

三门峡  %c8%fd%c3%c5%cf%bf

怎么转啊,有朋友帮忙一下吗?

苏飞的主页 苏飞 | 老鸟四级 | 园豆:2024
提问于:2009-11-08 17:37
< >
分享
最佳答案
0

这不是十六进制ascii码,是进行了UrlEncode

 

 public static string GetUrlEncode(string trueUrl)
{
return System.Web.HttpUtility.UrlEncode(trueUrl, System.Text.Encoding.GetEncoding("GB2312"));
}
public static string GetUrlDecode(string trueUrl)
{
return System.Web.HttpUtility.UrlEncode(trueUrl, System.Text.Encoding.GetEncoding("GB2312"));
}

Console.WriteLine(
"郑州:" + GetUrlEncode("郑州"));
Console.WriteLine(
"三门峡:" + GetUrlEncode("三门峡"));



运行结果:

 

郑州:%d6%a3%d6%dd
三门峡:%c8%fd%c3%c5%cf%bf

也可以参考这里

http://www.cnblogs.com/downmoon/archive/2007/12/30/1021140.html

收获园豆:5
邀月 | 高人七级 |园豆:25475 | 2009-11-08 20:16
谢谢了啊
苏飞 | 园豆:2024 (老鸟四级) | 2009-11-08 21:17
其他回答(1)
0

 byte[] bytes = System.Text.Encoding.Default.GetBytes(sc);
        string reStr = string.Empty;
        foreach (byte b in bytes)
        {
            short st = (short)(b - '\0');
            reStr += st.ToString("x") + "%";
        }
        return "%" + reStr;

woody.wu | 园豆:3621 (老鸟四级) | 2009-11-08 20:07
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册