我有 2 个字符串:
ahFkZXZ-cHV6emxlZmxvd2RldnIZCxILUHV6emxlSW1hZ2UYgICAgICAgIBcDA
ahFkZXZ-cHV6emxlZmxvd2RldnIZCxILUHV6emxlSW1hZ2UYgICAgICAgIBCDA
您会注意到这两个字符串几乎相同,除了倒数第三个字母“C”在一个中为大写,而在另一个中为小写。我根据这些名称将文件保存到磁盘 - 所以问题就变成了,因为 Mac OS X 是一个不区分大小写的文件系统,第二个具有此名称的文件将覆盖第一个。
我的直接想法是迭代字符串中的字母,并将大写字母“映射”为小写字母。例如,对于每个大写字母,将其替换为 2 个小写字母(“C”将变为“cc”)。
这个实现的唯一性有什么问题吗?在 Objective C 中实现这一目标的最简单方法是什么?对每个字母进行迭代很容易,但我很好奇是否有一些内置的辅助函数可以让这变得不那么痛苦。
此外,我不确定 Mac OSX/iOS 上的文件名长度限制。
*另请注意,这是针对 iOS 应用程序的,但我只想解决这个问题,因为它在模拟器中出错了。