是否有可能在iOS中使用资源(图片)的文件名中的全部中文(比方说)?如果不是,文件名,字符串搜索和其他文件处理活动支持哪些大语言的部分?iOS中的Unicode文件名
9
A
回答
1
iOS文件系统使用区分大小写的HFSX,它是HFS Plus的变种,并对文件名和字符编码使用相同的规则。
这些规则分布在Apple Technote 1150的几个部分。
的重要的考虑是:
- 您可以使用高达每文件或文件夹名255的16位的Unicode字符作为在其基部电平在技术说明1150
- 文件系统的HFS Plus Names部分中所描述使用Unicode v2.0(这是固定的)和字符串必须以完全分解,规范的顺序存储。这排除了一些“等同形式”的使用 - 即它们必须转换成分解形式。这在Technote 1150的Unicode Subtleties部分有详细描述。本节详细介绍其他问题,应仔细阅读。
- 非法字符列表可以在这Decomposition Table找到。
- 冒号“
:
”用作目录分隔符,在文件和文件夹名称中无效。
4
iOS和Mac OS目前使用HFS+ filesystem,该文件支持完整的Unicode文件名。这基本上意味着任何角色,包括中文和其他人类语言。文件系统最多允许255个字符,对于大多数语言来说,这个字符大约是255个码点。 (我注意到这个长度是基于UTF16编码的字符,有些字符需要16位以上的编码,比如emoji,你也可以使用它,但是你的字符允许更少。)
iOS上的文件API(NSFileManager等)应该适应Unicode字符串,而不需要额外的工作。请注意,Unicode序列是以一种特定的方式进行规范化的:例如一个é
字符可以用多种不同的方式用Unicode表示,但会以标准化的方式分解为一个文件名。
底线是,你可以随意使用Unicode字符串作为你的文件名,只要它们长度合理。因为超长的Unicode名称会以一种稍微不可预知的方式开始运行(实际上只是复杂且不必要计算),您应该设置一些自我强加的长度限制。
APFS是Apple正在开发的下一代文件系统,很快就会在iOS上出现。我无法找到关于文件名编码的信息,但这是一个公平的假设,它将支持HFS +支持的任何东西,如果不是更多的话。
相关问题
- 1. 的Python:pygame.mixer.music和Unicode文件名
- 2. zeos/sqlite的Unicode文件名
- 3. unicode中上传的文件的名称
- 4. 替换文件名中的unicode字符?
- 5. iOS应用名称中的Unicode字符?
- 6. Delphi unicode ShellListView文件名
- 7. wget unicode文件名错误
- 8. Python os.stat和unicode文件名
- 9. Unicode文件名测试床
- 10. 用unicode文件名上传文件
- 11. Python复制文件与Unicode文件名
- 12. 绘文字的Unicode的IOS
- 13. 问题与fopen在ios 10.3当文件名有unicode(utf8)字符
- 14. 如何在Ruby文件名中复制Unicode字符的文件?
- 15. zip文件中的unicode文件名兼容性问题
- 16. Cygwin的rsync支持Unicode文件名吗?
- 17. Python3 Qt的Unicode文件名问题
- 18. rubyzip和unicode字符的文件名
- 19. PHP:使用Unicode文件名的file_put_contents()
- 20. 比较的NodeJS Unicode文件名
- 21. Python中的Unicode文件中
- 22. 设置Unicode文件夹中的所有文件的Unicode编码#
- 23. 使用MAPI的文件附件的Unicode文件名
- 24. 在Flask响应头文件中设置Unicode文件名
- 25. 用TagLib在文件名中用Unicode字符打开文件
- 26. 将python文件名转换为unicode
- 27. 使用python读取unicode文件名
- 28. NSIS阅读unicode文件名问题
- 29. 用UNICODE名称搜索文件
- 30. 与Unicode名称复制文件
你试过了吗?它有用吗? – rmaddy
从理论上讲,整个中文“字母”应该可行......但作为一个非口语/写作/阅读的非中国人来说,这是一项庞大的任务。然后还有其他语言的问题......我也不知道。所以,不,我没有尝试过。我无法进行详尽的(或准确的)测试。我希望得到一个权威的参考资料或来自某人知道的答案。 – Confused
我假设,或许是错误的,苹果一贯支持unicode和本地化,他们的文件系统完全有能力,这意味着他们支持所有语言和所有字符集。但是我不想依赖这个假设,如果没有来自一个对这些问题更为了解的来源的某种确定性。这几乎是除我之外的任何人。 – Confused