用固定毫秒做对照
生成模式的示例只填入一个固定毫秒,不会自动发号。时间留空才取当前时刻;输入 1700000000 也按毫秒处理,不会自动乘以一千。
- 整批只采一次时间,生成 1,000 条时也一样。
标识符
生成一批标识符,或逐行检查已有值。生成需手动执行,解码默认自动更新。
留空时,执行生成的那一刻只采集一次当前毫秒,整批共用。也可输入 0 至 281474976710655 的整数;不猜测秒数,也不接受 ISO 日期。
所有处理均在当前浏览器内完成,输入不会发送到服务器。
开启:首个 80 位尾部使用安全随机值,后续逐个加一。关闭:每个尾部独立随机。每次点击都是新批次,批次之间不保证顺序。
生成数量为 1–1,000;解码最多 1,000 个物理行、100,000 个 UTF-16 码元。导出始终包含全部结果。
选择参数后运行。
排查日志时,看到两个先后顺序反常的标识符,通常需要先确认其中的时间字段。ULID 生成器把内嵌毫秒、随机尾部和批内顺序放在一起,方便区分时间差异与同一毫秒内的随机差异。
制作测试数据时,指定同一个毫秒可以固定时间前缀,但不会固定随机尾部。检查已有数据时,排序报告保留来源行号,重复值也逐条保留,便于回到原文核对。
ULID 生成器将前 10 个时间字符和后 16 个随机字符拆开,同时展示整数毫秒和 UTC 日期。无需从日期显示反推单位,测试时传入秒数造成的偏差也更容易发现。
排序仅改变报告中的记录顺序,不改写输入。每条记录携带 sourceLine,即使有重复值也能追溯来源,方便定位同毫秒内尾部不同造成的先后变化。
生成模式的示例只填入一个固定毫秒,不会自动发号。时间留空才取当前时刻;输入 1700000000 也按毫秒处理,不会自动乘以一千。
开启后,同一批次的随机尾部逐个递增;关闭后,同毫秒内每个尾部独立随机,排序结果就不一定等于生成顺序。
切到解码,载入打乱顺序的示例,再选择 ASCII 升序,比较 sourceLine。自动解码防抖 350 毫秒;关闭后可点击解码或按 Ctrl/Cmd+Enter。
一次生成 1–1,000 个规范大写标识符。自定义时间只固定前缀,首个尾部来自安全随机字节;单调开关决定后续尾部是递增还是重新随机。
ULID 解码报告提供 Unix 毫秒、UTC ISO 时间、时间段、随机段及尾部十六进制。随机字段不包含可恢复的用户、机器或进程身份。
长度不符、非法字符或超过 128 位范围都会标出原始行列。出现错误时整批失败,避免把坏行悄悄丢弃后导出一个看似成功的残缺批次。
生成结果可导出每行一个值的 TXT,也可导出带时间和单调选项的 JSON。解码结果导出完整记录;页面初始只显示 50 条,展开与否不影响导出数量。
ULID 使用 26 个 Crockford Base32 字符,前部编码 48 位毫秒时间。UUID 有版本化的位布局,常见文本为 36 个十六进制字符与连字符。存储宽度相同,不代表两种字符串可以互换,也不能据此判定 UUID 版本。
前 10 个字符对应时间戳,后 16 个字符对应 80 位随机尾部。26 个 Base32 字符可以容纳 130 位,但 ULID 只用 128 位,所以首字符限制为 0–7;尾部不携带业务元数据。
这个 ULID 生成器先取一个随机尾部,后续在同一批次内加一并处理进位。一次成功生成的结果严格递增;再次点击会独立起步,不提供跨批次、跨标签页或分布式全局单调保证。
可以恢复其中编码的 Unix 毫秒,再显示为 UTC 时间。不过生成者可以自行指定毫秒,也可能使用不准确的时钟,所以恢复出来的是内嵌时间,不是实际事件发生时间的证据。
这是 Crockford 字母表为减少混淆而作的选择。本站接受合法字母的小写形式并转为大写,但对 I、L、O、U 直接报错,避免把一次粘贴或抄写错误静默改成另一个有效值。
有结果不符合预期?