5

http リクエストの URL に「スペース」が含まれているものがありますが、iPhone で認識されません。URL に「スペース」がある場合は常に「スペース」を「%20」に変更する必要があります。ここで、ユーザーが入力したメッセージをサーバーに送信する必要があり、ユーザーが好きなだけ「スペース」を含めることができます。それらをすべて置き換える必要があるようです。(stringByReplaceingOccurrencesOfString)

Convert 'space' to '%20' は私がときどき見つけるものです。私の質問は、iPhone の URL で直接使用できない NSString の他の文字はどれですか?

4

2 に答える 2

20

これはより良いアプローチだと思います:

NSString* escapedUrl = [originalUrl   
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

URL エンコーディングの仕組みを理解したい場合は、このURLをご覧ください。

于 2009-03-30T03:35:18.350 に答える
1

詳細については、 RFC 2396を参照してください。次の文字はエスケープする必要があります。

制御文字 (ASCII 00-1F および 7F)
スペース
<
>
#
%
"

The following characters are unwise to use without escaping because some gateways and other transport agents are known to sometimes modify such characters, or they are used as delimiters:

{ } | \ ^ [ ] `

于 2009-03-30T03:41:28.677 に答える