【发布时间】:2012-12-04 23:46:04
【问题描述】:
我有一个 ID 字段,在添加新记录时会自动递增 1。我不想按原样使用数字 ID,而是将其转换为由 0-9A-Z(无小写字母)组成的 6 个字符串,格式如下:
A00000
数字应该从 0-9 递增,然后是 A-Z。
示例
例如,如果我要编码数字7,它应该返回:
A00007
如果我对数字 13 进行编码,它应该返回:
A0000D
如果我对数字 36 进行编码,它应该返回:
A00010
希望这是有道理的。任何帮助将不胜感激。
【问题讨论】:
-
所以基本上它是一个基数为 36 的数字?
-
@phoog 我幸运地尝试了一些 base 36 编码,但我很想知道是否有更好的解决方案。是的,那应该是 36。错字已修复。
-
我写了一些代码来回答stackoverflow.com/questions/8885582/…
-
@SystemDown 基本上,是的。
-
建议:将 604661760 添加到整数值(= 10 * 36 ^ 5 ),然后以 36 为基数编码。