Чтобы URL-кодировать строку в Swift, вы можете использовать несколько методов. Вот несколько подходов:
Метод 1: использование addingPercentEncoding(withAllowedCharacters:):
if let encodedString = originalString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) {
print("Encoded String: \(encodedString)")
} else {
print("Encoding failed.")
}
Метод 2: использование CFURLCreateStringByAddingPercentEscapes(доступно в старых версиях Swift):
let charactersToEscape = "!*'();:@&=+$,/?%#[]"
let allowedCharacterSet = NSMutableCharacterSet.alphanumeric()
allowedCharacterSet.addCharacters(in: charactersToEscape)
if let encodedString = originalString.addingPercentEncoding(withAllowedCharacters: allowedCharacterSet as CharacterSet) {
print("Encoded String: \(encodedString)")
} else {
print("Encoding failed.")
}
Метод 3. Использование URLComponents:
if let url = URLComponents(string: originalString) {
if let encodedString = url.percentEncodedQuery {
print("Encoded String: \(encodedString)")
} else {
print("Encoding failed.")
}
} else {
print("Invalid URL.")
}