gpt4 book ai didi

ios - 将 NSString 转换为 String 时,我的结果发生了变化

转载 作者:行者123 更新时间:2023-11-29 05:33:37 26 4
gpt4 key购买 nike

我请求你给我一个解决方案,其中NSStringString的结果都是相同的

downloadedFile = MOM'&^*%s-HC.pdf (In NSString)

let path = pathComponent.appendingPathComponent(downloadedFile as String)
print(path) //OutPut: ttt_gmail_com/MOM'&%5E*%25s-HC-2.pdf

如果我用正则表达式测试结果就可以。

let NSStringValue = "MOM'&^*%s-HC.pdf" as NSString
print(NSStringValue) // Output: MOM'&^*%s-HC.pdf
let StringValue = downloadedFile as String
print(StringValue) // Output: MOM'&^*%s-HC.pdf

但是当我将该代码放入 appendingPathComponent 中时,它会更改我的结果。

最佳答案

您的文件名在这里包含所有特殊字符,我在示例项目中尝试了您的案例,试图在 UIDocumentInteractionController 中加载此类文件,并且似乎当我有一个带有特殊字符的文件名时在我的文档目录中,我尝试检索它,少数特殊字符是 URL 编码的。

观察我在这里使用的文件名是“MOM'&^*%s-HC.pdf”并将其保存在 doc 目录中,但是当我使用以下代码从文档目录中检索它时,少数字符被 URL 编码为我正在以 URL 的形式获取路径。

所以这意味着你的原始文件名

MOM'&^*%s-HC.pdf

现在已更改并替换为百分比转义序列字符串,

MOM'&%5E*%25s-HC.pdf

观察下面我使用的代码

var pdfURL = (FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)).last! as URL
pdfURL = pdfURL.appendingPathComponent(fileName)

Output

为了解决这个问题,我所做的就是在创建 URL 时删除了百分比转义序列,并且它有效,我能够在 UIDocumentInteractionController

中查看 PDF
fileName.removingPercentEncoding!

希望有帮助。

关于ios - 将 NSString 转换为 String 时,我的结果发生了变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57271105/

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