C#将数据URL编码为'%xx'的方法

时间:2016-09-16 15:56:46

标签: c# url encoding

我处于需要更换一些Windows-1252特殊字符的情况。稍后可能会添加更多字符 - 所以我想要一种通用方法而不是这种硬编码。

private string URLEncode(string s)
        {
            s = s.Replace("ø", "%f8");
            s = s.Replace("Ø", "%f8");
            s = s.Replace("æ", "%e6");
            s = s.Replace("Æ", "%e6");
            s = s.Replace("å", "%e5");
            s = s.Replace("Å", "%e5");
            return s;
        }

这可能吗?我不知道这个'%f8'格式是,但它的工作原理。

1 个答案:

答案 0 :(得分:2)

好的,现在我遇到了你的问题。 我想我在另一篇文章中找到了合适的解决方案:

UrlEncoding issue for string with ß character

在你的情况下可能是:

var source = "tØst".ToLowerInvariant();
var encodedUrl = HttpUtility.UrlEncode(source, Encoding.GetEncoding(1252));

我必须使字符串小写以更好地匹配您当前的映射。