anchor.diff:  class ZipEncoder {
     late _ZipEncoderData _data;
     OutputStreamBase? _output;
  +  final Encoding filenameEncoding;
  +
  +  ZipEncoder({this.filenameEncoding = const Utf8Codec()});
   
     List<int>? encode(Archive archive,
         {int level = Deflate.BEST_SPEED,
  
positive.code: 
      final compressedData = fileData.compressedData!;
  
      var filenameUtf8 = Utf8Encoder().convert(filename);
  
      output.writeUint16(version);
      output.writeUint16(flags);
  
negative.code:       output.writeUint32(crc32);
        output.writeUint32(compressedSize);
        output.writeUint32(uncompressedSize);
        output.writeUint16(encodedFilename.length);
        output.writeUint16(extraField.length);
        output.writeUint16(fileCommentUtf8.length);
        output.writeUint16(diskNumberStart);
        output.writeUint16(internalFileAttributes);
        output.writeUint32(externalFileAttributes);
        output.writeUint32(localHeaderOffset);
        output.writeBytes(encodedFilename);
        output.writeBytes(extraField);
        output.writeBytes(fileCommentUtf8);
      }
  