#random-string #uid #fixed-length #letter #generate #unique #numeral

uid_store

生成包含字母、数字或base62值的随机uid字符串

13个版本

0.1.8 2024年6月9日
0.1.7 2024年6月5日
0.1.6 2024年5月25日
0.0.5 2024年1月25日
0.0.4 2023年8月29日

#444 in 数据结构

MIT 协议

16KB
278

UID UidStore

生成包含字母、数字或base62值的随机uid字符串。

生成随机UID的函数

使用任何罗马字母或数字生成固定长度的随机字符串。

let uid = random_string(8);

使用任何罗马字母或数字生成固定长度的随机字符串,排除因字体难以阅读而常被混淆的字母。排除字母0 o O l L i I。

let uid = human_random_string(8);

将数字转换为base62编码的字符串

let uid = number_to_uid(1000);

将base62编码的字符串转换为数字。如果字符串不是有效的base62字符串,则返回None。

let uid = uid_to_number(1000).unwrap();

生成保证唯一的随机UID。

如果你使用的是短UID,发生冲突的机会很高。使用UidStore来保存以前的UID值,以确保不会生成重复的值。

生成一个保证唯一的10字符UID字符串序列

let mut u = UidStore::new();
let uid = u.next(10);

生成一个大小受限的UID字符串序列,以便适合无符号整数类型。

let mut u = UidStore::new();
let uid = u.next_u16();
let uid = u.next_u32();
let uid = u.next_u64();

如果这个UID已经在bucket中,则生成一个新的uid。

let mut u = UidStore::new();
if let Some(uid) = u.make_unique("0123456789") {
    println!("New UID generated. {}", uid);
}

无运行时依赖