如何在Swift中生成十六进制序列?

时间:2015-05-12 12:23:03

标签: swift hex

嘿伙计们我正在尝试创建一个工具来计算它在我设定的特定时间内生成的6个字节序列,例如10s或1min等等。例如,序列是:4F B0 33 47 A3 BC。

所以它是十六进制数字,每个6字节一起必须是唯一的,并且从00 00 00 00 00 00到FF FF FF FF FF FF开始。

所以问题是我无法弄清楚如何将计数器设置为从0到F并执行所有可能的组合。

我所知道的是,它不能随机完成,因为它可以在此过程中生成重复项,因为我说它必须是唯一的6字节序列。

所以任何人都知道如何做到这一点?

1 个答案:

答案 0 :(得分:1)

六个字节表示从零(包括两端)到2 48 ,不包括 * 的范围内的正数。这些值中的每一个都可以唯一地转换为六个字节的序列。所有这些值都适合UInt64类型,因此,如果您想生成所有可能的组合,请从零开始,并继续递增计数器,直到达到0xFFFFFFFFFFFF

您可以通过多种不同的方式转换为十六进制序列 - 例如,您可以使用shift和按位运算符来“剪切”每个字节,并将其格式化为十六进制值。

*其他解释也是可能的,但00xFFFFFFFFFFFF范围内的正数足以满足此任务的目的。