【发布时间】:2015-04-24 19:04:15
【问题描述】:
我有一个数据结构,我想在 Ruby 中将其从十六进制转换为二进制。将二进制转换为十六进制的最简单方法是 '0010'.to_i(2).to_s(16) - 不幸的是,这不会保留前导零(由于 to_i 调用),因为可能需要加密密钥等数据结构(其中也随着前导零的数量而变化)。
有没有一种简单的内置方法可以做到这一点?
【问题讨论】:
-
一般来说,加密密钥只是整数(或整数对),而在 Ruby 中表达它们最自然的方式是使用内置的 Integer 类。另外,您还应该根据它们可以容纳多少位来跟踪这些整数的上限,并且可能在将这些整数与各种 ASCII 或二进制格式相互转换时使用它。尝试将您的键存储为带有前导零的字符串,其中前导零实际上对您的程序产生影响,这似乎是个坏主意。