0
私はNode.jsに書き込んだRubyスクリプトを変換しようとしていますが、zlibの圧縮出力は大きなものです(62ルビの代わりに1580バイトです)。Node.js zlib.deflateの出力が長すぎます
rimg = []
(1..100).each do |i|
(1..100).each do |j|
rimg << ((j > 20 && j < 30) || (j > 70 && j < 80) ? 65 : 122)
end
end
zd = Zlib::Deflate.new(Zlib::DEFAULT_COMPRESSION, Zlib::MAX_WBITS)
ximg = zd.deflate(rimg.pack('c*'), Zlib::FINISH)
zd.close
puts "bytesize #{ximg.bytesize}"
バイトサイズは62バイトです:私は何を圧縮してるのは非常に均一で、65または122
ルビーのいずれかとすることができるデータの10,000バイトです。ここにJSがあります:
var rimg = new Buffer(100*100);
rimg.fill(0);
for (var i = 1; i <= 100; i++) {
for (var j = 1; j <= 100; j++) {
rimg.writeInt8((((j > 20 && j < 30) || (j > 70 && j < 80) ? 65 : 122)), i*j-1);
}
}
Zlib.deflate(rimg, { windowBits: 15 }, function(err, result) {
console.log('-------')
console.log(result.length);
});
これは1580を出力します。ノードのバージョンは5.1.1です。違いはなんですか?彼らは同じ圧縮に