GUID和UUID

发布时间:2025-07-10

GUID,英文全称为 Global Unique Identifier,意为全局唯一标识符,UUID,英文全称为 Universally Unique Identifier,意为通用唯一标识符,都具有唯一性,GUID也是微软对UUID是的实现。

UUID

UUID,通用唯一标识码,作为分布式运算环境的一部分,是一个作用于计算机体系中识别信息的128位标识符标准。

在UUID标准中规定了UUID全长位128位,表示为32个数字,在表现形态上展现为16进制数字,以特定的长度分割,其中用连字符 - 分割为5组数字,长度为 8-4-4-4-12,形式为 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 总共36个字符。

GUID

GUID,全局唯一标识码,本质上为UUID标准,由微软根据UUID标准变种实现得到,所以在形式上和UUID表现完全一致。如:{21EC2020-3AEA-1069-A2DD-08002B30309D}。

GUID的主要目的是产生完全唯一的数字。在理想情况下,任何计算机都不会生成两个相同的GUID。GUID的总数也足够大,达到了2^128^(3.4×1038)个,所以随机生成两个相同GUID的可能性是非常小的,但并不为0。所以,用于生成GUID的算法通常都加入了非随机的参数(如时间),以保证这种重复的情况不会发生。

C#代码

使用C#代码可以很容易的生成并使用GUID,C#代码中提供了 Guid 类型,并且内置了很多方法,例如 NewGuid() 可以直接生成一个全新的GUID,同时提供了多种格式化格式。

var guid = Guid.NewGuid();
var guidStr = guid.ToString();

其中的 ToString() 方法提供了多个参数支持,用于输出不同格式的GUID字符串,包括了 D,N,B,P和X。

规范 返回格式
N 32位数字:00000000000000000000000000000000
D 连字符分隔的32位数字:00000000-0000-0000-0000-000000000000
B 大括号括起来的连字符分隔的32位数字:{00000000-0000-0000-0000-000000000000}
P 小括号括起来的连字符分隔的32位数字:(00000000-0000-0000-0000-000000000000)
X 大括号括起来的十六进制数字:{0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}

对于需要快速生成GUID,还可以使用GUID生成器来生成。

其他阅读

网页上通过超链接直接打开PC应用

有时候我们会发现有些网页可以直接打开本地应用,比如在百度网盘网页版下载文件时,会自动打开本地的百度网盘软件。Visual Studio Code打开浏览器认证后也会转到本地引用,Unity官网打开本地的Unity Hub应用进行Unity的下载和更新等。

查看原文

Js使用原型链对对象进行扩展

在C#的扩展方法中,我们了解到了一种不需要修改源对象定义即可为对象添加新的行为的方法,在JavaScript中,我们通过原型链也可以实现类似的效果,为对象添加新的行为。需要一定的Js原型链基础。

查看原文

Angular 中跨分模块后路由复用问题

当我们的 Angular 应用越来越大后,就需要考虑使用模块或者直接使用库来将解体应用,使用时进来懒加载,加快访问速度。当跨分模块后,普通的路由复用策略就是失效,需要额外的解决方法。

查看原文

Winform中设置控件边框

本文将会介绍在Winform中如何设置控件的边框,可应用于Form和Panel等。

查看原文

管道技术——中间件的灵魂

在现代Web开发中,中间件技术使用越来越广泛,本文带大家了解中间件的基础,同时也是中间件的灵魂所在,管道技术。在C#中,依赖于委托,我们可以很容易就实现一个中间件管道。所以在阅读本文前,请确保你已经学会了什么是委托,包括但不限于Delegate,Action,Func。除此之外,本文还会使用到反射相关知识,请确保你已经学会了什么是反射。

查看原文