gpt4 book ai didi

swift - URL 构造函数不适用于某些字符

转载 作者:行者123 更新时间:2023-11-30 11:28:49 25 4
gpt4 key购买 nike

我正在尝试使用 URLRequest 从我的应用程序调用 php 脚本。Url 路径是在 String-Variable query 中生成的,对于请求,我将其转换为这样

    guard let url = URL(string: query) else {
print("error")
return
}

通常可以正常工作,但是当请求包含 ä、ö、ü、ß 等字符时,就会触发错误。我怎样才能让它发挥作用?

最佳答案

URL(string:) 初始值设定项不负责将 String 编码为有效的 URL String,它假设String 已编码为仅包含 URL 中有效的字符。因此,如果您的 String 包含无效的 URL 字符,则必须进行编码。您可以通过调用String.addingPercentEncoding(withAllowedCharacters:)来实现此目的。

let unencodedUrlString = "áűáeqw"
guard let encodedUrlString = unencodedUrlString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let url = URL(string: encodedUrlString) else { return }

您可以根据 URL 的哪一部分包含需要编码的字符来更改 CharacterSet,我只是将 urlQueryAllowed 用于演示目的。

关于swift - URL 构造函数不适用于某些字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50466880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com