【发布时间】:2019-11-26 11:43:42
【问题描述】:
我有这种压缩字符串的 ruby 方法 -
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。压缩算法和当前时间有关系吗?
【问题讨论】:
标签: ruby compression gzip zlib