I don't understand.
Why are you looking at the zip file with a hex editor? What's the problem with the zip file - is it not being read successfully?
If you want to insert a file like that, I suggest something like this:
using (ZipFile zip = new ZipFile())
var e = zip.AddEntry("mimetype", "application/epub+zip");
e.CompressionLevel = Ionic.Zlib.CompressionLevel.None;
// add other files here
The AddEntry() will insert an entry into the zip file with the given name, and the given content.
Check the doc for more info.
Also, You can set the CompressionLevel on an individual entry or on the entire file. I'm not sure which you need to do, but my code shows how to do it on the individual entry.
By default, Zip entries created by DotNetZip will include extra data, for the timestamp on the file. This data will appear in the zip file immediately after the filename, and immediately before the file content. Normally this is tolerated by zip tools that
read the files. In some cases it is not. To turn off the timestamp, set
EmitTimesInWindowsFormatWhenSaving to false, on the ZipEntry. This would be (e.EmitTimesInWindowsFormatWhenSaving = false;)
That will eliminate the extra data between the filename and the file content.