将时间,日期和数字编码为几个字母数字字符

时间:2013-01-22 19:28:14

标签: version-control encoding character-encoding build-process

我想将某些信息(例如构建的日期和时间以及SVN修订版)编码为可逆的字母数字字符串,以便我可以轻松识别构建(除了维护已知构建的表)。

我不知道如何解决这个问题。你能指点我相关的算法,命令等对我有帮助吗?

1 个答案:

答案 0 :(得分:1)

如果您不需要它太短,请使用Base64 encoding

$ echo $(date +%s)-r3749 | base64
MTM1ODg4MzA3MS1yMzc0OQo=
$ echo MTM1ODg4MzA3MS1yMzc0OQo= | base64 --decode
1358883071-r3749

这里我使用了Epoch time,因为它的字符少于完整日期。由于它是一个数字,并且SVN修订版也是一个数字,您也可以使用不同的基数对它们进行编码。使用this Base 62 encoding function,您可以将(日期,修订版)对1358883071-r3749可逆地编码为1tXJyT,Yt

但Base64可能足够短,而且非常简单。