【问题标题】:Question about character of NSString invalid in URL on iPhoneiPhone 上 URL 中 NSString 字符无效的问题
【发布时间】:2010-10-16 07:19:14
【问题描述】:

我的一些 http 请求在 URL 中有“空格”,但 iPhone 无法识别。只要网址中有“空格”,我就必须将“空格”更改为“%20”。现在我必须将用户输入的消息发送到服务器,它可以有尽可能多的“空格”,就像用户喜欢的那样。看来我必须全部替换它们。(stringByReplacingOccurrencesOfString)

Convert 'space' to '%20' 是我偶尔发现的。我的问题是 NSString 中的哪些其他字符不能被 iPhone 上的 url 直接使用?

【问题讨论】:

    标签: iphone url nsstring


    【解决方案1】:

    我认为这是一个更好的方法:

    NSString* escapedUrl = [originalUrl   
    stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    

    如果您想了解 URL 编码的工作原理,请查看此URL。

    【讨论】:

      【解决方案2】:

      请参阅RFC 2396 了解完整的血腥细节。以下字符必须转义:

      控制字符(ASCII 00-1F 和 7F) 空间 # % "

      如果不转义,使用以下字符是不明智的,因为已知某些网关和其他传输代理有时会修改此类字符,或者将它们用作分隔符:

      { } | \ ^ [ ] `

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-25
        • 2017-07-22
        • 1970-01-01
        相关资源
        最近更新 更多