我需要创建一个条形码,其中包含包括年份、月、日、小时和分钟在内的时间戳。考虑到代码的长度有限,我需要这个时间戳尽可能短。
我的想法是获得UNIX时间戳,除以60 (删除“秒”数据),然后将其转换为十六进制。示例:
这样我就可以从10个字符到7个字符,我还想使用一个不同的基,比如36,这只会产生5个字符。
有没有更好的方法来做到这一点,这可能导致更少的字符在条形码?除了转换到更高的基础之外,还有其他方法来解决这个问题吗?
发布于 2014-06-01 01:11:50
定义您想要支持的最低时间,并按照您的建议,在减少秒数的基础上计算自该时间以来的分钟数。在代码支持的基中编码该值,例如代码39的基43。该代码中的5个字符允许您表示时间跨度为近280年(43^5分钟)。
https://stackoverflow.com/questions/23971448
复制相似问题