我有2个字符串:
ahFkZXZ-cHV6emxlZmxvd2RldnIZCxILUHV6emxlSW1hZ2UYgICAgICAgIBcDA
ahFkZXZ-cHV6emxlZmxvd2RldnIZCxILUHV6emxlSW1hZ2UYgICAgICAgIBCDA
你会注意到这两个字符串几乎相同,除了倒数第3个字母'C'在一个字母中是大写字母,而在另一个字母中是小写字母。 我根据这些名称将文件保存到磁盘 - 因此问题就变成了,因为Mac OS X是一个不区分大小写的文件系统,具有此名称的第二个文件将覆盖第一个文件。
我的想法是迭代字符串中的字母,并将大写字母“映射”为小写字母。例如,对于每个大写字母,将其替换为2个小写字母('C'将变为'cc')。
此实现中的唯一性是否有任何问题?在Objective C中实现这一目标的最简单方法是什么?对每个字母进行迭代很容易,但我很好奇是否有一些内置的辅助函数可能会让它变得不那么轻松。
此外,我不确定Mac OSX / iOS上的文件名长度限制。
*另请注意,这适用于iOS应用,但我只想解决这个问题,因为它会在模拟器中出错。
答案 0 :(得分:0)
你做错了。
可能的解决方案:
答案 1 :(得分:0)
为什么不尝试在字符串末尾添加字符串哈希? 如果将此哈希值添加到字符串中,则每个案例都有一个唯一的字符串。
该功能是:[str hash];