我正在尝试编码一个字符串(通过 HTTP 发布请求发送)以接受可以在 iPhone 上输入的所有字符。
以下适用于我在典型英文桌面键盘上尝试的任何字符
let userPassword = "password1"
let encodedPassword = userPassword.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet())
但不能识别重音字符,如 á、é、í、ó、ú、ü、ñ 等(在标准 iPhone 键盘上按住 a、e、i... 即可访问这些字符)。是否有一个NSCharacterSet
或简单的扩展程序可以包含标准 iPhone 键盘上的任何/所有字符?
编辑:这是我提出的请求的代码
let username = "joe"
let password = "pássword"
let encodedUsername = username.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet())
let encodedPassword = password.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.alphanumericCharacterSet())
let request = NSMutableURLRequest(URL: NSURL(string: "https://www.url.com")!)
request.HTTPMethod = "POST"
let postString = "id="+encodedUsername+"&pw="+encodedPassword
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
data, response, error in
...