首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有办法在Mac上生成标准的128位GUID (UUID)?

有没有办法在Mac上生成标准的128位GUID (UUID)?
EN

Stack Overflow用户
提问于 2008-11-15 00:30:00
回答 8查看 21.5K关注 0票数 27

是否有一个与.NET的内置函数等效的函数

代码语言:javascript
运行
复制
Guid.NewGuid();

在可可?

我的愿望是按照550e8400-e29b-41d4-a716-446655440000的方式生成一个代表唯一标识符的字符串。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-11-15 01:13:05

UUID在Core Foundation中由CFUUID库处理。您要查找的函数是CFUUIDCreate

仅供进一步搜索:这些通常被称为GUID,术语GUID在Microsoft之外并不经常使用。你可能会更幸运地找到那个搜索词。

票数 43
EN

Stack Overflow用户

发布于 2009-04-14 13:59:56

至少在MacOSX 10.5.x上,您可以使用命令行工具"uuidgen“来获取字符串,例如

$ uuidgen

054209C4-3873-4679-8104-3C18AE780512

这个命令还有一个选项-hdr,可以方便地在标题样式中生成它

有关更多信息,请参阅手册页。

票数 39
EN

Stack Overflow用户

发布于 2008-11-15 23:16:29

下面是一些代码:

对于字符串UUID,下面的类方法应该可以完成此任务:

代码语言:javascript
运行
复制
+(NSString*)UUIDString {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFStringRef string = CFUUIDCreateString(NULL, theUUID);
    CFRelease(theUUID);
    return [(NSString *)string autorelease];
}

如果你真的想要字节(而不是字符串):

代码语言:javascript
运行
复制
+(CFUUIDBytes)UUIDBytes {
    CFUUIDRef theUUID = CFUUIDCreate(NULL);
    CFUUIDBytes bytes = CFUUIDGetUUIDBytes(theUUID);
    CFRelease(theUUID);
    return bytes;
}

其中CFUUIDBytes是UUID字节的struct

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/291868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档