-1

我尝试从组件创建 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中删除

我怎样才能做到这一点?

4

2 回答 2

0

直接回答你的问题

您可以用 nothing 替换此模式:

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)
于 2018-10-05T10:04:12.417 回答
0

这是 UTF-8 BOM的 URL 编码,它可能是由某些文本编辑器处理 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 中,'ZERO WIDTH NO-BREAK SPACE'被编码为0xEF 0xBB 0xBF

于 2018-10-05T10:36:14.093 回答