In ZipEntry.Write.cs there appear to be some fixed length byte buffers that don't really take unicode into account. For example
WriteHeader has this
byte bytes = new byte; // large enough for looooong filenames (MAX_PATH == 260)
byte FileNameBytes = _GetEncodedFileNameBytes();
Int16 filenameLength = (Int16)FileNameBytes.Length;
When I pass in a unicode filename of say 148, I get back a byte buffer of 358.
Is it ok to just change to code to allocate a buffer based on filenameLength ?