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

本文关键字:%xx 编码 方法 数据 URL | 更新日期: 2023-09-27 18:07:13

我在一种情况下,我必须替换一些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"格式是什么,但它可以工作。

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

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

UrlEncoding问题ß字符

在你的例子中可以是:

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

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