Time ModifiedTime uint16 // Deprecated: Legacy MS-DOS date use Modified instead. The legacy MS-DOS date field is encoded according to the // location of the Modified time. // When writing, an extended timestamp (which is timezone-agnostic) is // always emitted.
If only the MS-DOS date is present, the timezone is assumed to be UTC. // When reading, an extended timestamp is preferred over the legacy MS-DOS // date field, and the offset between the times is used as the timezone. Method uint16 // Modified is the modified time of the file. NonUTF8 bool CreatorVersion uint16 ReaderVersion uint16 Flags uint16 // Method is the compression method.
Pkware appnote zip#
Otherwise, the Writer // automatically sets the ZIP format's UTF-8 flag for valid UTF-8 strings.
Pkware appnote zip file#
// This flag should only be set if the user intends to encode a non-portable // ZIP file for a specific localized region. // By specification, the only other encoding permitted should be CP-437, // but historically many ZIP readers interpret Name and Comment as whatever // the system's local character encoding happens to be. Name string // Comment is any arbitrary user-defined string shorter than 64KiB.Ĝomment string // NonUTF8 indicates that Name and Comment are not encoded in UTF-8. It is the caller's responsibility to sanitize it as // appropriate, including canonicalizing slash directions, // validating that paths are relative, and preventing path // traversal through filenames ("./././"). // When reading zip files, the Name field is populated from // the zip file directly and is not validated for correctness. A trailing slash // indicates that this file is a directory and should have no data. // It must be a relative path, not start with a drive letter (such as "C:"), // and must use forward slashes instead of back slashes. func (w *Writer) SetComment(comment string) error.func (w *Writer) RegisterCompressor(method uint16, comp Compressor).func (w *Writer) CreateRaw(fh *FileHeader) (io.Writer, error).
func (w *Writer) CreateHeader(fh *FileHeader) (io.Writer, error).func (w *Writer) Create(name string) (io.Writer, error).func (z *Reader) RegisterDecompressor(method uint16, dcomp Decompressor).func (r *Reader) Open(name string) (fs.File, error).func NewReader(r io.ReaderAt, size int64) (*Reader, error).func OpenReader(name string) (*ReadCloser, error).func (h *FileHeader) SetMode(mode fs.FileMode).func (h *FileHeader) SetModTime(t time.Time) deprecated.func (h *FileHeader) Mode() (mode fs.FileMode).func (h *FileHeader) ModTime() time.Time deprecated.func (h *FileHeader) FileInfo() fs.FileInfo.func FileInfoHeader(fi fs.FileInfo) (*FileHeader, error).func (f *File) OpenRaw() (io.Reader, error).func (f *File) Open() (io.ReadCloser, error).func (f *File) DataOffset() (offset int64, err error).func RegisterDecompressor(method uint16, dcomp Decompressor).func RegisterCompressor(method uint16, comp Compressor).
Pkware appnote 64 Bit#
The ZIP64 format the 32 bit fields will be 0xffffffff and the 64 bit The 64 bit fields will always contain the correct value andįor normal archives both fields will be the same. To be backwards compatible the FileHeader has both 32 and 64 bit Sizeįields. This package does not support disk spanning. Package zip provides support for reading and writing ZIP archives.