Well, I'm thoroughly embarrassed. Maybe that's why no one would take me seriously on the core mailing list. Case closed. On 9/9/07, yermej / gmail.com <yermej / gmail.com> wrote: > On Sep 9, 7:27 pm, "Jed Hurt" <jed.h... / gmail.com> wrote: > > I originally posted this message to core as I assumed that it would be > > the mailing list with > > the most knowledge of Ruby's Zlib library, but received no reply, so > > I'm posting it again here. > > ==================================================== > > > > I'm porting SWX PHP ( swxformat.org ) to Ruby (http://rubyforge.org/projects/rswx). SWX is a data exchange format-a > > replacement for Flash Remoting, SOAP, et al. The idea is to assemble > > Flash SWF files by converting Ruby objects (hashes, array, strings, > > integers, etc.) to SWF bytecode. > > > > SWF files support compression using ZLib, and so I'm implementing > > compression using > > Ruby's ZLib library. > > > > As I'm porting SWX PHP to Ruby, I am able to generate a SWF file using > > SWX PHP to see what I need to generate in rSWX ( my port ). > > > > There seems to be a bug in Ruby's ZLib implementation that creates a > > different header and trailer than PHP's gzcompress() (the function > > used to compress in SWX PHP). > > > > Here is the bytecode of two SWF files containing the same data (one > > generated with SWX PHP and the other generated with rSWX):http://pastie.caboo.se/95038 > > > > I've highlighted the discrepant parts of the two files (Please note > > that the first 8 bits of a compressed SWF file are left uncompressed, > > thus the header of the compressed section of the file starts on the > > second line of the pastied result). > > > > And, needless to say, the compressed SWF file generated with SWX PHP > > works, and the one generated with rSWX does not. > > > > I know very little about compression or Zlib so I'm quite lost at this > > point. I've tried to make this post as thorough as possible so that > > someone with a greater knowledge of hex bytecode could help me fix the > > issue without much effort. If I could post anything else to make it > > easier to find the issue, please let me know and I'll be happy to do > > it. > > I don't know much about zlib, but I did notice one thing in your > pastie example. This: > > swx_file.slice!(0..8) > > removes 9 bytes from the string. Maybe that should be: > > swx_file.slice!(0,8), or > swx_file.slice!(0..7) > > ? > > Jeremy > > >