1

iPhoneでHTTPPOSTを使用してURLにリクエストを渡そうとしています。HTTPボディには、いくつかのエスケープ文字が含まれています。

NSString *requestMessage=[NSString stringWithString:@"?username/u001password/u001description"];
    NSMutableURLRequest *url=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://welcome.com"]];
    [url setHTTPMethod:@"POST"];
    [url setHTTPBody:[requestMessage dataUsingEncoding:NSUTF8StringEncoding]];
     NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:url delegate:self];

ここでのエスケープ文字はです/u001

このコードを使用すると、正しい応答が得られません。問題はエスケープ文字だけだと思います。ココアでこのようなエスケープシーケンスを与える方法の解決策を教えてください。前もって感謝します。

4

2 に答える 2

2

スラッシュ(/)と円記号(\)を混同しています。エスケープシーケンスを形成するにはバックスラッシュが必要です。スラッシュは単なるスラッシュであり、「/ u001」は単なるスラッシュ、文字u、2桁のゼロ、および1桁の1です。

そうは言っても、実際に文字列にU + 0001を含めたいのであれば、それ\u001は間違いです。あなたが望む\x01か多分(しかし、U + 0100より低い文字\u0001に使用するとGCCが文句を言うことを覚えているようです)。\u

しかし、なぜサーバーがセパレーターとしてU+0001を必要とするのか疑問に思います。クエリしているサーバーの公開APIドキュメントはありますか?

于 2010-08-23T10:18:37.873 に答える
0

何を逃げたいですか?私はあなたが何をしようとしているのかよくわかりません。「&」を書きたいですか?じゃやれ。HTMLではありません。

その上、[NSString stringWithString:@"…constant string…"]超流動です。@"…constant string…"は、あなたが必要とすることすべてです。

NSStringには、URLにパーセントエスケープを追加するメソッドがあります-(void)stringByAddingPercentEscapesUsingEncoding:。多分それはあなたが探しているものですか?

于 2010-08-23T10:05:25.267 に答える