shortuuid 技术文档

shortuuid 技术文档

shortuuid :mushroom: A generator library for concise, unambiguous and URL-safe UUIDs shortuuid 项目地址: https://gitcode.com/gh_mirrors/shor/shortuuid

短UUID(shortuuid)是一个专为Go语言设计的库,用于生成简洁、无歧义且URL安全的UUID。它基于Python的shortuuid库并与其兼容,采用google/uuid生成标准UUID后,通过转换成base57编码形式,仅使用小写字母、大写字母和数字,并排除易混淆字符如l、1、I、O和0,从而达到优化显示效果的目的。

安装指南

要安装shortuuid,您需要先确保您的系统已经配置好了Go环境。之后,执行以下命令即可轻松安装:

go get -u github.com/lithammer/shortuuid/v4

这将会下载库到您的 $GOPATH/src/github.com/lithammer/shortuuid/v4 目录下,并完成安装过程。

项目的使用说明

使用shortuuid非常直观,主要通过几个核心函数来生成和处理短UUID。

基本使用

在您的Go代码中引入shortuuid

import (
    "fmt"
    "github.com/lithammer/shortuuid/v4"
)

然后,您可以很简单地生成一个短UUID:

func generateBasicShortUUID() {
    u := shortuuid.New()
    fmt.Println(u) // 示例输出: KwSysDpxcBU9FNhGkn2dCf
}

指定UUID版本

如果您想要创建特定版本的UUID,比如UUIDv5,可以使用NewWithNamespace方法:

func generateUUIDv5() {
    u := shortuuid.NewWithNamespace("http://example.com")
    fmt.Println(u)
}

自定义字母表

若需自定义生成短码所使用的字符集,确保其长度为57个字符:

func generateCustomAlphabetShortUUID() {
    alphabet := "23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxy="
    u := shortuuid.NewWithAlphabet(alphabet)
    fmt.Println(u) // 示例输出: iZsai==fWebXd5rLRWFB=u
}

使用自定义编码器

支持自定义编码逻辑,例如,实现Base58编码:

import (
    "fmt"
    "github.com/btcsuite/btcutil/base58"
    "github.com/google/uuid"
)

// 自定义Base58编码器
type base58Encoder struct{}

func (enc base58Encoder) Encode(u uuid.UUID) string {
    return base58.Encode(u[:])
}

func (enc base58Encoder) Decode(s string) (uuid.UUID, error) {
    return uuid.FromBytes(base58.Decode(s))
}

func generateWithCustomEncoder() {
    enc := base58Encoder{}
    u := shortuuid.NewWithEncoder(enc)
    fmt.Println(u) // 示例输出: 6R7VqaQHbzC1xwA5UueGe6
}

API使用文档

  • New(): 生成一个默认的UUIDv4的短UUID字符串。
  • NewWithNamespace(string): 根据提供的命名空间生成UUIDv5的短UUID。
  • NewWithAlphabet(string): 指定字母表后生成短UUID,字母表长度必须为57。
  • NewWithEncoder(interface{}): 提供自定义编码器生成短UUID,其中接口需实现Encode和Decode方法。

许可证

此项目遵循MIT许可证。意味着您可以自由地使用、复制、修改及分发这段代码,但请确保保留相关版权声明信息。

以上即是shortuuid库的基本使用与配置指南,希望能帮助您轻松集成并利用该库在项目中生成便于展示和管理的UUID。

shortuuid :mushroom: A generator library for concise, unambiguous and URL-safe UUIDs shortuuid 项目地址: https://gitcode.com/gh_mirrors/shor/shortuuid

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

要在 Python 中安装 `shortuuid` 库,可以使用 `pip` 工具来完成。以下是详细的说明: ### 安装方法 #### 使用官方 PyPI 源 最简单的方式是从官方的 Python Package Index (PyPI) 下载并安装该库: ```bash pip install shortuuid ``` 如果网络环境较差或访问国外资源受限,可以选择国内镜像源加速安装。 --- #### 使用国内镜像源 以下是国内常用的 PyPI 镜像地址[^3],可以根据需求选择其中之一进行配置和安装。 1. **阿里云** ```bash pip install shortuuid -i http://mirrors.aliyun.com/pypi/simple/ ``` 2. **清华大学** ```bash pip install shortuuid -i https://pypi.tuna.tsinghua.edu.cn/simple ``` 3. **中国科学技术大学** ```bash pip install shortuuid -i https://pypi.mirrors.ustc.edu.cn/simple ``` 4. **豆瓣** ```bash pip install shortuuid -i http://pypi.douban.com/simple ``` 以上命令中的 `-i` 参数指定了镜像源地址,能够显著提升下载速度。 --- ### 验证安装成功 安装完成后,可以通过以下方式验证是否成功: ```python import shortuuid print(shortuuid.uuid()) # 输出随机 UUID print(shortuuid.uuid(name="example")) # 基于特定名称生成唯一 ID ``` 上述代码会分别打印一个随机生成的 UUID 和基于指定字符串生成的固定 UUID[^4]。 --- ### 注意事项 - 如果当前环境中未安装 `pip` 或版本过低,请先升级 `pip`: ```bash pip install --upgrade pip ``` - 对于虚拟环境用户,需确保操作是在目标虚拟环境下执行。 - 若遇到权限问题,在命令前加上 `sudo`(Linux/MacOS),或者尝试以管理员身份运行终端(Windows)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柳俐文Tower

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值