我们为一个文档生成一个GUID,并且需要将GUID包含在一个C40编码的条形码(29型2D)中,并且有以下限制。
最大长度为25个字符,只能使用上位字母数字字符,不能使用特殊字符。
我曾想过转换为Base64,但那会使用特殊字符。
你可以使用 基数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