【发布时间】:2018-06-01 08:58:13
【问题描述】:
我根据不同的参数生成唯一的字符串作为 ID。我需要有这种 ID,因为字符串必须是用户可以理解的。但是我想将这些 ID 作为数字保存在数据库中
如何将唯一字符串转换为唯一数字,反之亦然?
【问题讨论】:
-
这取决于你的“唯一字符串”的细节。一个非常基本的方法是为每个可能的字符分配一个数字(并将这些数字填充到相同的长度。)
A=01、B=02等 - 从和“转换”分别到ABBA。01020201那时将是微不足道的。当然,更复杂的方法是可能的。 (但请注意您的规范 -01020201不是实际的 数字。这实际上取决于您到底需要什么,但您保持非常模糊。) -
谢谢,如果你有一个50个字符的字符串,数字是100位,有点太长了。
-
看,这就是“取决于具体情况”的意思……(另外,如果可供选择的字符范围大于100 - 因为那样你需要两个以上的数字才能唯一地识别每个字符。)正如我所说,这是一种非常基本的方法。但是,除非您首先对需求提出适当的定义,否则很难提供更多。
-
您希望这些独特的字符串有多长?您希望这些字符串包含哪些字符?例如,您是否希望它们包含大写的 ASCII 字母 A 到 Z,以及数字 0 到 9?您要生成多少个不同的唯一 ID?有很多方法可以满足您的要求,但它们取决于您要生成什么样的字符串。
标签: string algorithm casting unique