Игра со Свифт Я наткнулся на то, что я не понимаю.«stringByAddingPercentEncodingWithAllowedCharacters» заменяет больше символов, чем должно было
Следующий код заменяет не только /%
символы, как предполагалось, он также заменяет ä
характер:
immport Foundation
extension String{
func encode() -> String{
let customAllowedSet = NSCharacterSet(charactersInString:"/%").invertedSet
return self.stringByAddingPercentEncodingWithAllowedCharacters(customAllowedSet)!
}
}
let testStr = "Ein String der % und/enthält"
// contains what is expected
let percentEncodedStr = testStr.encode()
// contains "Ein String der %25 und %2F enth%C3%A4lt"
let decodedStr = percentEncodedStr.stringByRemovingPercentEncoding
// contains what was in testStr originally
Почему ä
заменен %C3%A4
?