我正在寻找一个在base62中生成node.js UUID的解决方案。我想避免使用base64,因为我打算基于这些UUID创建文件夹,而像=、\、-、_这样的字符(在某些实现中)并不是那么友好的人工/文件系统。
Base62还具有比典型的v4 UUID更短的优点(在我的上下文中)。
UPDATE (为了清晰起见):我应该在前面说我已经尝试过使用base62模块,但这并没有解决我的问题,因为base62使用javascript整数的数字只精确到52位,而UUID只有128位。
发布于 2015-05-26 20:40:01
UPDATE:我最初指出的模块是将基数62的数字转换为基数10,反之亦然,这样就不行了。看起来原版海报正在创建他们自己的模块来完成这个任务:https://github.com/dmarcelino/b62
您可以使用一个base62模块。下面是它们的示例代码:
Base62 = require('base62')
Base62.encode(999) // 'g7'
Base62.decode('g7') // 999该模块可以用npm install base62安装。若要在package.json中将其作为依赖项使用,请使用npm install --save base62。
发布于 2021-01-03 01:26:10
安装软件包:
npm install uuid
npm install base-x生成标识符:
const uuid = require('uuid')
const base62 = require('base-x')('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
const id = base62.encode(Buffer.from(uuid.parse(uuid.v4())))发布于 2017-10-17 03:45:38
npm安装base62x
var base62x = require('base62x');
var encoded = base62x.encode('hello');
var decodedBuffer = base62x.decode(encoded);
var decodedString = base62x.decodeString(encoded);Base62x.class.js是解决这个问题的另一个选择。有关更多信息,请参见https://github.com/wadelau/Base62x,https://www.npmjs.com/package/base62x。
https://stackoverflow.com/questions/30468292
复制相似问题