URL在不同的语言中,如何将URL转换为Swift?
URL in diffrent Language, How to convert a URL in Swift?
我的图片 URL 包含一个希腊词。像 URL http://example.com/ΥΠΗΡΕΣΙΕΣ.jpg, URL class 给我 nil 值
我的代码
if let url = URL(string: "http://example.com/ΥΠΗΡΕΣΙΕΣ.jpg"){
//Image Download
}
else{
NSLog("invalidURL")
}
如何创建 URL 对象来下载此图像。
您需要为 URL 使用 UTF-8 可读格式,例如
if let url = URL(string: "http://example.com/ΥΠΗΡΕΣΙΕΣ.jpg"){
会是
if let url = URL(string: "http%3A%2F%2Fexample.com%2F%CE%A5%CE%A0%CE%97%CE%A1%CE%95%CE%A3%CE%99%CE%95%CE%A3.jpg"){
您可以使用像 http://www.webatic.com/run/convert/url.php 这样的 code/decode 服务来转换这些。或者,您可以使用 url 缩写来提供 UTF-8 可读 url.
在这里查看我的回答
您需要对其进行编码,因为您的最后一个路径组件看起来不像纯字符串
let testurl = "http://example.com/ΥΠΗΡΕΣΙΕΣ.jpg"
if let encodedURL = testurl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let url = URL(string: encodedURL) {
print("valid url")
} else {
print("invalid url ")
}
输出
valid url
If you print your encodedURL
you will get // Here if you print encoded url you will get
http://example.com/%CE%A5%CE%A0%CE%97%CE%A1%CE%95%CE%A3%CE%99%CE%95%CE%A3.jpg
您必须对字符串进行编码才能获得有效 URL。您可以使用 String.addingPercentEncoding(withAllowedCharacters: )
.
let urlString = "http://example.com/ΥΠΗΡΕΣΙΕΣ.jpg"
guard let encodedString = urlString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let url = URL(string: encodedString) else {
return
}
print(url)
编码后的URL变为:
http://example.com/%CE%A5%CE%A0%CE%97%CE%A1%CE%95%CE%A3%CE%99%CE%95%CE%A3.jpg
我的图片 URL 包含一个希腊词。像 URL http://example.com/ΥΠΗΡΕΣΙΕΣ.jpg, URL class 给我 nil 值
我的代码
if let url = URL(string: "http://example.com/ΥΠΗΡΕΣΙΕΣ.jpg"){
//Image Download
}
else{
NSLog("invalidURL")
}
如何创建 URL 对象来下载此图像。
您需要为 URL 使用 UTF-8 可读格式,例如
if let url = URL(string: "http://example.com/ΥΠΗΡΕΣΙΕΣ.jpg"){
会是
if let url = URL(string: "http%3A%2F%2Fexample.com%2F%CE%A5%CE%A0%CE%97%CE%A1%CE%95%CE%A3%CE%99%CE%95%CE%A3.jpg"){
您可以使用像 http://www.webatic.com/run/convert/url.php 这样的 code/decode 服务来转换这些。或者,您可以使用 url 缩写来提供 UTF-8 可读 url.
在这里查看我的回答
您需要对其进行编码,因为您的最后一个路径组件看起来不像纯字符串
let testurl = "http://example.com/ΥΠΗΡΕΣΙΕΣ.jpg"
if let encodedURL = testurl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let url = URL(string: encodedURL) {
print("valid url")
} else {
print("invalid url ")
}
输出
valid url
If you print your encodedURL
you will get // Here if you print encoded url you will get
http://example.com/%CE%A5%CE%A0%CE%97%CE%A1%CE%95%CE%A3%CE%99%CE%95%CE%A3.jpg
您必须对字符串进行编码才能获得有效 URL。您可以使用 String.addingPercentEncoding(withAllowedCharacters: )
.
let urlString = "http://example.com/ΥΠΗΡΕΣΙΕΣ.jpg"
guard let encodedString = urlString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let url = URL(string: encodedString) else {
return
}
print(url)
编码后的URL变为:
http://example.com/%CE%A5%CE%A0%CE%97%CE%A1%CE%95%CE%A3%CE%99%CE%95%CE%A3.jpg