我有这个用于压缩字符串的红宝石方法-
def compress_data(data)
output = StringIO.new
gz = Zlib::GzipWriter.new(output)
gz.write(data)
gz.close
compressed_data = output.string
compressed_data
end
当我使用相同的输入调用此方法时,在不同的时间获得不同的输出。我试图获取压缩输出的字节数组并进行比较。当我运行以下命令时,输出为Different
->
input = "hello world" output1 = (compress_data input).bytes.to_a sleep 1 output2 = (compress_data input).bytes.to_a if output1 == output2 puts 'Same' else puts 'Different' end
当我取消睡眠时,输出为
Same
。压缩算法与当前时间有关吗?
我有这个用于压缩字符串的红宝石方法-def compress_data(data)output = StringIO.new gz = Zlib :: GzipWriter.new(output)gz.write(data)gz.close ...