【发布时间】:2011-09-30 17:52:12
【问题描述】:
我创建了一个 Web 服务,它获取一个整数作为电话的唯一标识符。后来,我意识到 iPhone UID 是一个格式为 5DE31FA12-XXXXX-XXXXX-XXXXXXX 的 NSstring。所以我想将此值转换为整数。
这是我获取 NSString 格式的 UID 的方式。
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
NSString *theUID = (NSString *)string;
如何将 NSString *theUID 转换为整数值,以便发送到 web 服务?
编辑:正如 CocoaFu 正确提到的那样,不可能将该值放入 int 中。我能否以某种方式将其转换为格式为“dddddddddddddddddddddddddddd”(其中 d = 0-9)的 NSString 以便对其进行哈希处理然后发送?现在无法更改网络服务。
【问题讨论】:
-
一个 uuid 不能容纳在单个整数中!
-
要么改变你的网络服务,要么做一个新的
-
有 36 ^ 26 = 3 x 10^40 个可能的 UID。即使是 long long 整数也只能保存大约 1 x 10^19 的值。
标签: iphone ios cocoa-touch uuid uniqueidentifier