我在MonoTouch中寻找url escape和unescape函数。基本上我正在寻找方法 stringByReplacingPercentEscapesUsingEncoding 的MonoTouch等价物,如在Objective-c代码的以下行中所示:
NSString *args = [(NSString*)[components objectAtIndex:3]
stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
我原本希望能够将其翻译成这样的东西:
string args = URL.Unescape(components[3]);
在MonoTouch中是否存在URL转义/ unescape函数,还是我必须自己滚动?
答案 0 :(得分:19)
System.Web.HttpUtility.UrlDecode (string s);
单声道内容中的System.Web.Services.dll。
答案 1 :(得分:1)
答案 2 :(得分:1)
除了回答, Split有params参数Split('&','=');表达首先由&分裂那么'='所以奇数元素都是要编码的值,如下所示。
public static void EncodedQueryString(ref string queryString)
{
var array=queryString.Split('&','=');
for (int i = 0; i < array.Length; i++) {
string part=array[i];
if(i%2==1)
{
part=System.Web.HttpUtility.UrlEncode(array[i]);
queryString=queryString.Replace(array[i],part);
}
}
}
您应该只编码一般值。