如何在Swift中正确编码URL?处理西里尔字母和特殊字符的问题
大家好!我是Swift新手,在处理URL时遇到了问题。我需要向服务器发送一个包含西里尔字符和空格的参数的GET请求。例如,我这样构建查询字符串:
```swift
let searchText = "Москва центр"
let urlString = "https://api.example.com/search?q=\(searchText)"
let url = URL(string: urlString)
```
但URL变成了nil,因为字符串包含无效字符。我尝试过使用`addingPercentEncoding(withAllowedCharacters:)`,但不确定该使用哪个字符集。试过`urlQueryAllowed`——西里尔字母被编码了,但空格仍然存在。如果使用`urlHostAllowed`,则完全出错。
请告诉我如何在Swift中正确且安全地编码URL?是需要单独编码每个参数,还是对整个字符串进行编码?如果参数值中已经包含编码序列(例如%20),该怎么办?提前感谢!
<<>>