【发布时间】:2013-06-09 21:18:37
【问题描述】:
假设我有一个大约 1000 字节长的任意字符串。 (我正在研究加密货币。)我怎样才能将它解压缩成 BigNum?我知道如何将它打包成 8 位数字或 32 位数字。
s='I am a grumpy potato'
s.unpack('C*')
[73, 32, 97, 109, 32, 97, 32, 103, 114, 117, 109, 112, 121, 32, 112, 111, 116, 97, 116, 111]
s.upack('L*')
=> [1835081801, 1730175264, 1886221682, 1869619321, 1869898100]
或者,有没有一种直接的方法可以将 8 位数字组合成一个 BigNum?我可能会解压缩成一个 8 位数的数组,然后将数组的每个元素乘以 8 的后续幂。但这似乎太复杂了,不是正确的方法。
编辑:将 BigNum 转回字符串的首选方法是什么?我不是说 to_s,我的意思是采用相同的字节模式并将其解释为字符串?
【问题讨论】: