缩短GUID

问题描述 投票:1回答:1

我们为一个文档生成一个GUID,并且需要将GUID包含在一个C40编码的条形码(29型2D)中,并且有以下限制。

最大长度为25个字符,只能使用上位字母数字字符,不能使用特殊字符。

我曾想过转换为Base64,但那会使用特殊字符。

character-encoding base64 guid
1个回答
1
投票

你可以使用 基数36 编码。

鉴于一个UUID只有16个字节,它应该适合25个base36字符。

为了演示,这里有一个小的JavaScript代码段,它采用了来自于 维基百科页面 (123e4567-e89b-12d3-a456-426614174000)并将其转换为base36。

const guid = BigInt('0x123e4567e89b12d3a456426614174000');
const encoded = guid.toString(36).toUpperCase();

console.log("Encoded: " + encoded); // 12VQJRNXK8WHV3I8QI6QGRLZ4
console.log("Length: " + encoded.length); // 25
© www.soinside.com 2019 - 2024. All rights reserved.