ios - iOS Swift:带有特殊字符的文件和文件夹的名称
问题描述
我正在制作文件管理器应用程序,它允许用户创建和移动文件。当文件名或目录名包含特殊字符、表情符号或非英文字母时,我在移动文件时遇到问题。但是我看到有很多应用程序允许创建名称中包含这些字符的文件夹和文件并移动它们。为什么我不能这样做?
我将文件移动到名称为表情符号的文件夹中。例如,此代码不会产生错误,但在目标文件夹文件中不出现:
try FileManager.default.moveItem(atPath: atPath, toPath: toPath)
在路径:
/var/mobile/Containers/Data/Application/99F4B9F3-6EEB-4CA6-8BFF-73E761213C08/Documents/%E2%9D%A4%EF%B8%8F/201902180150250650.pdf
到路径:
/var/mobile/Containers/Data/Application/0702B04A-BC80-451F-BF84-A668D1990BBA/Documents/%F0%9F%8E%81/201902180148461430.pdf
%F0%9F%8E%81 是文件夹的名称,它是“gift emoji”,但我使用编码替换了 emoji:
addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlPathAllowed)!
如果我从文件夹名称中删除 % - 它可以工作,但之后我将无法将其转换为原始名称
解决方案
推荐阅读
- android - 热重装android模拟器CTRL + m不起作用
- testing - 在 Adonis 中生成 html 覆盖率报告
- amazon-web-services - 应用程序 ELB - 基于一致散列的粘性会话
- reactjs - react npm start 命令显示以下错误
- excel - VBA 定义行高 - 优化
- python - 为什么这个内核感知器实现需要无限的时间来运行?
- html - 我找不到解决方案,以便 Angular 可以访问我的一些文件
- r - 使用带有行和列索引的 mutate 和 group by
- php - 我如何从使用 php 中选择的用户输入中计算总价
- python - 将 DateField 添加到 models.py 时出现“函数缺少必需的参数 'month' (pos 2)”错误