DateTime到[A-Z]字符串转换的标准或约定?

时间:2014-11-20 11:29:26

标签: date datetime encoding

我喜欢使用DateTime.UtcNow.ToString("yyyyMMddHHmmss")作为一个唯一的足够的盐来填充,而不是测试中的随机字符串或GUID,以便于调试和排序。但是,我无法使用它,验证只允许使用字母字符串,例如一个名称(其中' Falsehoods Programmers Believe About Names'被忽略)。

是否有将时间戳编码为[A-Z] +字符串的标准或约定?最好是比罗马数字更有效但仍然人类可读的东西,即不是类似base64的查找表变体,而是基于逻辑的变体。

2 个答案:

答案 0 :(得分:1)

我不知道,但如果您将A视为0而将J视为9,则可以简单地替换yyyyMMddHHmmss字符串中的所有数字。

答案 1 :(得分:1)

我最终使用leet speakcalculator spelling的混合进行查找,以便进行排序以代替可读性。

var map = new Dictionary<char, char>
{
    { '0', 'O' },
    { '1', 'I' },
    { '2', 'Z' },
    { '3', 'E' },
    { '4', 'A' },
    { '5', 'S' },
    { '6', 'G' },
    { '7', 'T' },
    { '8', 'B' },
    { '9', 'P' }
};
return string.Concat(value.Select(c => map[c]));
相关问题