Swift 4 Как удалить% EF% BB% BF из URL, созданного из URLComponent ()? - PullRequest
0 голосов
/ 05 октября 2018

Я пытаюсь создать URL из компонентов

var com =  URLComponents()
com.scheme = "http"
com.host = "192.168.1.99"
com.port = 77
com.path = "/api/dosomething/55"

print("SHOW ME URl =  \(com.url!))")

То, что я получил, выглядит примерно так

http://192.168.1.99:77/%EF%BB%BFapi/dosomething/55

Всегда получается %EF%BB%BF, в этом случае URL становится недействительным

Я хочу удалить %EF%BB%BF из URL

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Это URL-кодировка UTF-8 BOM , это может быть вызвано обработкой URL-адресов в некоторых текстовых редакторах.Удалите пробелы из строки пути:

var com =  URLComponents()
com.scheme = "http"
com.host = "192.168.1.99"
com.port = 77
let path = //The path
let trimmedPath = path.trimmingCharacters(in: .whitespaces)
com.path = trimmedPath

print("SHOW ME URl =  \(com.url!)")

В utf-8 'НУЛЬ ПРОБЛЕМА С НУЛЕМ' '1007 * кодируется как 0xEF 0xBB 0xBF

0 голосов
/ 05 октября 2018

Прямой ответ на ваш вопрос

Вы можете заменить этот шаблон ничем:

let theURL = "http://192.168.1.99:77/%EF%BB%BFapi/dosomething/55"
let partToRemove = "%EF%BB%BF"
let clearURL = theURL.replacingOccurrences(of: partToRemove, with: "")
print(clearURL)
...