C# 用大写字母编码的URL
可能重复:C# 用大写字母编码的URL,c#,asp.net,twitter,oauth,urlencode,C#,Asp.net,Twitter,Oauth,Urlencode,可能重复: 我正在使用HttpUtility.UrlEncode方法为我编码一个字符串。问题在于编码位置的字母是小写的,例如: 冒号(:)变为%3a而不是%3a 在我开始加密这个字符串之前,这不是一个很大的问题。我想要的最终结果是这样的 zRvo7cHxTHCyqc66cRT7AD%2BOJII%3D 如果我用大写字母,我会得到这个 zRvo7cHxTHCyqc66cRT7AD+OJII= 这是正确的,但如果我使用小写字母(即使用UrlEncode而不是静态字符串),我会得到这个结果 b6qk
我正在使用HttpUtility.UrlEncode方法为我编码一个字符串。问题在于编码位置的字母是小写的,例如: 冒号(:)变为%3a而不是%3a 在我开始加密这个字符串之前,这不是一个很大的问题。我想要的最终结果是这样的
zRvo7cHxTHCyqc66cRT7AD%2BOJII%3D
如果我用大写字母,我会得到这个
zRvo7cHxTHCyqc66cRT7AD+OJII=
这是正确的,但如果我使用小写字母(即使用UrlEncode而不是静态字符串),我会得到这个结果
b6qk+x9zpFaUD6GZFe7o1PnqXlM=
这显然不是我想要的字符串。有没有一种简单的方法可以使编码字符成为大写,而不必重新发明编码的轮子
Thnaks当然,在编码字符串之前,请将其封顶。编码通常是基于文字字符值的单行道,因此它的不同结果也就不足为奇了。我想知道,你用它来做什么?有一种更好的方法来处理您正在编码的数据类型 对链接副本的添加:
public static string UpperCaseUrlEncode(this string s)
{
char[] temp = HttpUtility.UrlEncode(s).ToCharArray();
for (int i = 0; i < temp.Length - 2; i++)
{
if (temp[i] == '%')
{
temp[i + 1] = char.ToUpper(temp[i + 1]);
temp[i + 2] = char.ToUpper(temp[i + 2]);
}
}
return new string(temp);
}
public静态字符串UpperCaseUrlEncode(此字符串为s)
{
char[]temp=HttpUtility.UrlEncode.ToCharArray();
对于(int i=0;i
将其转换为扩展方法允许对任何字符串变量进行大写URL编码。检查此项,应该可以解决您的问题:是的,就是这个,解决了我的问题!詹姆斯·海伊:是的,你可以投票以重复的方式结束你自己的问题,并/或将其标记为快速结束。我现在已经为你做了。