2016-08-23 269 views
-1

如何編碼URL參數在查詢字符串格式的URL UTF8編碼的電子郵件/參數1 /參數2 /參數3UTF8編碼含+

我甚至試過URLHostAllowedCharacterSet,編碼特殊字符,但不是「+ '字符。

如何使用almofire請求對包含+字符的電子郵件進行編碼?

+0

你嘗試過它,有自己的嘗試?你的代碼將清除這個問題。 – pedrouan

+0

是的,我試圖通過電子郵件,即a + [email protected]作爲param1,但服務器採取+作爲一個白色空間。我想用編碼發送這封電子郵件,以便服務器可以接受+字符。 –

+0

你試過在'+'之前用'\'來逃避角色嗎? – pedrouan

回答

3

嘗試添加一個擴展來處理編碼,然後在您想要編碼時調用擴展。

extension String { 
    func stringByAddingPercentEncodingForRFC3986() -> String? { 
     let unreserved = "-._~/?:" 
     let allowed = NSMutableCharacterSet.alphanumericCharacterSet() 
     allowed.addCharactersInString(unreserved) 
     return stringByAddingPercentEncodingWithAllowedCharacters(allowed) 
    } 
} 

然後使用它:

let query = "http://test.com/param1& param2+ param3" 
let encoded = query.stringByAddingPercentEncodingForRFC3986()! 
+1

它爲我工作! :) 謝謝。 –