2009-03-30 18 views
5

URL adresinde http isteğimin bir kısmı 'boşluk' içeriyor, ancak iPhone tarafından tanınmıyor. URL'de 'boşluk' olduğunda 'boşluk' ''% 20 '' i değiştirmek zorundayım. Şimdi, kullanıcı tarafından sunucuya yazılan bir mesaj göndermem gerekiyor ve kullanıcı gibi birçok "boşluk" elde edebiliyor. Hepsini değiştirmem gerekiyormuş gibi görünüyor. (StringByReplacingOccurrencesOfString)URL'de geçersiz URL'de NSString karakteriyle ilgili soru

'Uzay' '% 20' ye dönüştürmek ara sıra bulduğum. Sorum şu: NSString'deki diğer karakterlerden hangileri iPhone'da url tarafından doğrudan kullanılamaz?

cevap

19

Bunun daha iyi bir yaklaşım olduğunu düşünüyorum:

NSString* escapedUrl = [originalUrl 
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

URL kodlaması nasıl çalıştığını anlamak istiyorsanız

, bu URL bakabilirsiniz.

1

Tüm detaylar için RFC 2396 adresine bakın. Şu karakterleri gerekir:

{ } | \^[ ] `:

 
Control characters (ASCII 00-1F and 7F) 
Space 
< 
> 
# 
% 
" 

aşağıdaki karakterler bazı geçitleri ve diğer taşıma maddeler bazen gibi diğer karakterler bilinmektedir veya bunlar sınırlayıcı olarak kullanıldığı için kaçmaksızın kullanmak akıllıca olan