Objective c 保存NSString的唯一表示形式

Objective c 保存NSString的唯一表示形式,objective-c,nsstring,sha,Objective C,Nsstring,Sha,在我的应用程序中,我需要比较vCard并找出它们之间是否有变化 我不想在内存中保留一整张vcard,因为这可能会非常大。我想做的是保留该vcard的散列值,但散列值必须非常精确,以便在非常接近/类似vcard的情况下(例如,差异由一个字符决定)不会重复 我已经尝试过Objective-C的哈希方法来处理字符串,但效果并不好,因为它会在类似的vCard中创建重复项 我现在正在考虑使用SHA256加密vCard,然后比较SHA(类似于密码比较) 这是个好主意吗?关于如何保存大字符串的较小版本,然后将

在我的应用程序中,我需要比较vCard并找出它们之间是否有变化

我不想在内存中保留一整张vcard,因为这可能会非常大。我想做的是保留该vcard的散列值,但散列值必须非常精确,以便在非常接近/类似vcard的情况下(例如,差异由一个字符决定)不会重复

我已经尝试过Objective-C的
哈希
方法来处理字符串,但效果并不好,因为它会在类似的vCard中创建重复项

我现在正在考虑使用SHA256加密vCard,然后比较SHA(类似于密码比较)


这是个好主意吗?关于如何保存大字符串的较小版本,然后将其与另一个版本进行比较以进行更改,还有其他想法吗?

也许我误解了你的问题,但你不能将这些大字符串保存到文件中,然后读入并与NSString的比较方法进行比较吗?@mark,我已经想到了,但我认为这些vcard可能相当大,因此如果它们太多(1000+)会占用太多空间,如果您逐行读取vcard中的文件进行比较,那么在任何给定时刻,每个vcard中只有一小部分在内存中。你不会消耗太多的记忆。这可能是缓慢的,但我认为它会工作。