Thanks to Tonyg's links, I figured out that the part I was missing was the ADLER-32 check of the uncompressed data added to the end of the byte string.
That makes the total byte string composition look like this: (bytes #x78 #x9c) compressed-data-from-deflate (number->bytes (adler32 uncompressed-text)) `number->bytes`, is a function I made; its definition is (define (number->bytes num) (define hex (number->string num 16)) ; from file/sha1 (hex-string->bytes (if (even? (string-length hex)) hex (string-append "0" hex)))) P.S. I didn't see an implementation of ADLER32 anywhere, so I had to write my own, which took a little longer than expected, but oh well. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.