UUID写法怎么转换

75 0

UUID(通用唯一识别码,Universally Unique Identifier)是 128 位的标识符,通常写成 36 个字符的 8-4-4-4-12 十六进制形式,例如 550e8400-e29b-41d4-a716-446655440000,用于在不依赖中央分配的情况下生成几乎不会重复的 ID。下面说明常见的格式写法。

UUID写法怎么转换

常见写法有:标准小写 36 位(带连字符)、去掉连字符的 32 位、带花括号的大写 GUID 形式 {XXXXXXXX-…},以及 URN 形式 urn:uuid:…。数据库中可以用 16 字节二进制存储,比 36 字符字符串更省空间。

示例

输入:版本 5,DNS 命名空间,名称 python.org

生成结果:886313e1-3b8a-5372-9b90-0c9aee199e5d

说明:基于 SHA-1,同一命名空间加同一名称永远得到同一个 UUID。

工作原理

不同版本的生成方式不同:版本 1 由时间戳和网卡地址组成;版本 3 和 5 对“命名空间 + 名称”分别做 MD5、SHA-1 哈希后截取;版本 4 直接取 122 位随机数;版本 7 把 48 位 Unix 毫秒时间戳放在最前面,后面填充随机数。所有版本都会在固定位置写入版本号和变体位。

常用选项

  • 版本:1、3、4、5、7
  • 数量:一次生成多个
  • 大写或小写
  • 是否保留连字符
  • 版本 3/5 需要命名空间和名称

Python 示例

下面是用 Python 实现的写法,可以按需要修改:

import uuid
print(uuid.uuid4())                                  # 随机
print(uuid.uuid5(uuid.NAMESPACE_DNS, 'example.com'))  # 基于名称
print(uuid.uuid4().hex)                              # 无连字符

本站的UUID生成器工具可以直接在网页中使用,无需安装,适合快速得到和核对结果。

常见问题

【UUID 区分大小写吗?】不区分,规范建议输出小写,比较时忽略大小写。

【怎样从 UUID 看出生成时间?】版本 1、6、7 包含时间戳可以还原,版本 4 是纯随机的,没有时间信息。

【UUID 可以缩短吗?】可以转换为 Base58、Base64 等更短的表示,但原始值仍是 128 位。

文中示例可以在本站对应工具中核对。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: 实用工具

抱歉,评论功能暂时关闭!