2012-08-15 48 views
0

我在SKPSMTP消息使用空白編碼使用stringByAddingPercentEscapesUsingEncoding

[@"iPhone Content.doc" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 

發送編碼字符串中的空格。但是,當收到郵件附件的地方,我得到名稱iPhone%20Content.doc - 而不是一個空間,它顯示%20。如何避免/正確編碼?

回答

0

如果你在做stringByAddingPercentEscapesUsingEncoding那麼你會在你的結果字符串中得到百分號......你可以使用不同的東西,或者返回並在之後刪除百分號。

從DOC:

stringByAddingPercentEscapesUsingEncoding:返回 表示使用給定的編碼來確定的百分比的接收器逃脫 必要將接收器轉換成合法的URL字符串。

又名「此方法增加了百分號」。如果你想扭轉這個過程,使用stringByReplacingPercentEscapesUsingEncoding

只是一個便箋,%20是因爲空格字符的十六進制表示是20和%符號是一個轉義。您只需要爲URL執行此操作,因爲它們不允許使用空格字符。

0

我得到了我的問題的解決方案。其實我錯過了將「」設置爲一個字符串。

0

當然,遠程接收器不能用空格接受url,所以我們必須使用stringByAddingPercentEscapesUsingEncoding函數轉換URL地址。

該函數用%20替換URL表達式中的空格。當URL包含非ascii字符時,它非常有用 - 您可以使用該函數來百分比轉義URL,以便遠程服務器可以接受您的請求。