我处于需要更换一些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'格式是,但它的工作原理。
答案 0 :(得分:2)
好的,现在我遇到了你的问题。 我想我在另一篇文章中找到了合适的解决方案:
UrlEncoding issue for string with ß character
在你的情况下可能是:
var source = "tØst".ToLowerInvariant();
var encodedUrl = HttpUtility.UrlEncode(source, Encoding.GetEncoding(1252));
我必须使字符串小写以更好地匹配您当前的映射。