如何将 UUID 存储为 int

发布于 2024-12-05 18:58:32 字数 384 浏览 0 评论 0原文

我这里遇到一些问题。我正在使用以下代码在我的应用程序中生成 UUID。

- (NSString *)GetUUID {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    return [(NSString *)string autorelease];
}

此代码返回一个 NSString 对象。现在我想将生成的 UUID 存储为 unsigned int。关于我如何在这里做到这一点有什么建议吗?

I'm having some issues here. I am using the following code to generate the UUID in my application.

- (NSString *)GetUUID {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    return [(NSString *)string autorelease];
}

This code returns an NSString object back. Now I want to store the generated UUID as unsigned int. Any suggestions on how can I do it here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

临走之时 2024-12-12 18:58:32

根据 维基百科页面,UUID 的长度为 128 位。您可以使用的最大 int 值是 64 位。因此,我想说你不能将它存储在 int 中,因为根本没有空间。

According to the Wikipedia page, UUIDs are 128 bits long. The largest int value you'll be able to work with is 64 bits. Therefore, I'd says you can't store it in an int because there simply isn't room.

清晨说晚安 2024-12-12 18:58:32

使用 .UUIDString 将 UUID 转换为字符串

获取字符串的 .hash 属性。

转换为 int。

int numericFormUUID = (int)UUIDString.hash;


注意:与往常一样,哈希法可能会发生冲突。两个用户最终可能会得到相同的值,而 UUID 则保证是唯一的。

Convert UUID to String using .UUIDString

Take string's .hash property.

Cast to int.

int numericFormUUID = (int)UUIDString.hash;


Note: collision is possible, as always, with hashing. Two users could end up with the same value here, whereas UUID is guaranteed unique.

埋情葬爱 2024-12-12 18:58:32

有一个新的 .hashValue 属性。

UUID().hashValue

There's a new .hashValue property.

UUID().hashValue
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文