我在SKPSMTP消息使用空白編碼使用stringByAddingPercentEscapesUsingEncoding
[@"iPhone Content.doc" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
發送編碼字符串中的空格。但是,當收到郵件附件的地方,我得到名稱iPhone%20Content.doc
- 而不是一個空間,它顯示%20
。如何避免/正確編碼?
我在SKPSMTP消息使用空白編碼使用stringByAddingPercentEscapesUsingEncoding
[@"iPhone Content.doc" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
發送編碼字符串中的空格。但是,當收到郵件附件的地方,我得到名稱iPhone%20Content.doc
- 而不是一個空間,它顯示%20
。如何避免/正確編碼?
如果你在做stringByAddingPercentEscapesUsingEncoding
那麼你會在你的結果字符串中得到百分號......你可以使用不同的東西,或者返回並在之後刪除百分號。
從DOC:
stringByAddingPercentEscapesUsingEncoding:
返回 表示使用給定的編碼來確定的百分比的接收器逃脫 必要將接收器轉換成合法的URL字符串。
又名「此方法增加了百分號」。如果你想扭轉這個過程,使用stringByReplacingPercentEscapesUsingEncoding
只是一個便箋,%20
是因爲空格字符的十六進制表示是20和%符號是一個轉義。您只需要爲URL執行此操作,因爲它們不允許使用空格字符。
我得到了我的問題的解決方案。其實我錯過了將「」設置爲一個字符串。
當然,遠程接收器不能用空格接受url,所以我們必須使用stringByAddingPercentEscapesUsingEncoding
函數轉換URL地址。
該函數用%20替換URL表達式中的空格。當URL包含非ascii字符時,它非常有用 - 您可以使用該函數來百分比轉義URL,以便遠程服務器可以接受您的請求。