gpt4 book ai didi

ios - 为什么 [NSString hash] 设备依赖?

转载 作者:行者123 更新时间:2023-12-01 17:54:28 28 4
gpt4 key购买 nike

我没想到 NSString 上的散列会根据目标设备返回不同的结果。

NSLog(@"%lu", (unsigned long)[@"test" hash]);
// 38178019076 on my iPad.
// 3818280708 on my iPhone and (iPhone/iPad-)Simulator.

除了应该小心使用 NSString 上的哈希 ( hash is bad with NSString ) 并且可以使用真正的哈希 (例如 sha) 轻松解决这个问题之外,我很感兴趣为什么会返回不同的结果?

最佳答案

NSObject 协议(protocol) hash方法返回一个 NSUInteger。 NSUInteger 是基于设备架构(32 位或 64 位)的不同类型。 64 位设备与 32 位设备的哈希实现可能不同(使用额外的空间来制作更准确的哈希)。

关于ios - 为什么 [NSString hash] 设备依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20690659/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com