Swift 4 如何从由 URLComponent() 创建的 URL 中删除 %EF%BB%BF?
Swift 4 How to remove %EF%BB%BF from URL created from URLComponent()?
我尝试从组件
创建 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 变得无效
我想从 URL
中删除 %EF%BB%BF
我该怎么做?
直接回答你的问题
你可以用任何东西替换这个模式:
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)
这是 UTF-8 BOM 的 URL 编码,可能是某些文本编辑器对 URL 的处理造成的。 Trim 路径字符串中的空格:
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
我尝试从组件
创建 URLvar 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 变得无效
我想从 URL
中删除%EF%BB%BF
我该怎么做?
直接回答你的问题
你可以用任何东西替换这个模式:
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)
这是 UTF-8 BOM 的 URL 编码,可能是某些文本编辑器对 URL 的处理造成的。 Trim 路径字符串中的空格:
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