2016-08-24 38 views
-1

我有,我想與Alamofire庫使用的API,但我需要使用UTF-8,使我的API URL支持空間和阿拉伯語。我嘗試過這兩種方式並沒有成功。不能把字符串轉換爲UTF-8 Alamofire

let d = "ddd dd" 
let f = String(d.utf8)! 
let bb = String(UTF8String: f.cStringUsingEncoding(NSUTF8StringEncoding)!)! 
let encodedName = d.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) 
+1

你能舉一個實際文字的例子嗎?你能解釋一下「沒有成功」的意思嗎? – matt

+0

@馬特Alamofire.request(不用彷徨, 「HTTP://api.ulo/sendmsg.php味精= \(BB)」,編碼:以.json)。.validate(){responseJSON在 – joda

+0

這是我的API,我響應想要發送'bb'的值 – joda

回答

0

這些線是錯誤的:

let f = String(d.utf8)! 
let bb = String(UTF8String: f.cStringUsingEncoding(NSUTF8StringEncoding)!)! 

你不需要或不想要一個C字符串。而且你不需要轉換爲UTF8;一個Swift字符串已經是unicode。每次你使用感嘆號(!)時,你都會說「請讓我崩潰」 - 所以當你確實崩潰時,你不會感到驚訝。

+0

爲什麼?如果我不打開它!我得到錯誤,我應該寫什麼? – joda

+0

你可以打開你喜歡的任何東西。但不要使用'!'。如果它是零,你會崩潰。 – matt