Ruby解析gzip二进制字符串
发布时间:2020-12-17 02:30:53 所属栏目:百科 来源:网络整理
导读:我有一个二进制字符串,其中包含两个连接的gzip binarys. (我正在读取将两个gzip文件连接在一起的二进制文件日志文件) 换句话说,我有相同的: require 'zlib'require 'stringio'File.open('t1.gz','w') do |f| gz = Zlib::GzipWriter.new(f) gz.write 'part o
我有一个二进制字符串,其中包含两个连接的gzip binarys. (我正在读取将两个gzip文件连接在一起的二进制文件日志文件)
换句话说,我有相同的: require 'zlib' require 'stringio' File.open('t1.gz','w') do |f| gz = Zlib::GzipWriter.new(f) gz.write 'part one' gz.close end File.open('t2.gz','w') do |f| gz = Zlib::GzipWriter.new(f) gz.write 'part 2' gz.close end contents1 = File.open('t1.gz',"rb") {|io| io.read } contents2 = File.open('t2.gz',"rb") {|io| io.read } c = contents1 + contents2 gz = Zlib::GzipReader.new(StringIO.new(c)) gz.each do | l | puts l end 当我尝试解压缩组合字符串时,我只得到第一个字符串.我如何获得两个字符串? 解决方法while c io = StringIO.new(c) gz = Zlib::GzipReader.new(io) gz.each do | l | puts l end c = gz.unused # take unprocessed portion of the string as the next archive end 见ruby-doc. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |