GzipArchive
public class GzipArchive: Archive
Provides unarchive and archive functions for GZip archives.
-
Represents a member of multi-member of GZip archive.
See moreDeclaration
Swift
public struct Member -
Unarchives GZip archive.
If data passed is not actually a GZip archive,
GzipErrorwill be thrown.If data in archive is not actually compressed with Deflate algorithm,
DeflateErrorwill be thrown.Note
This function is specification compliant.
Throws
DeflateErrororGzipErrordepending on the type of the problem. It may indicate that either archive is damaged or it might not be archived with GZip or compressed with Deflate at all.Declaration
Swift
public static func unarchive(archive data: Data) throws -> DataParameters
archiveData archived with GZip.
Return Value
Unarchived data.
-
Unarchives multi-member GZip archive. Multi-member GZip archives are essentially several GZip archives following each other in a single file.
Note
wrongCRCerror contains only last processed member’s data as their associated value instead of all successfully processed members. This is a known issue and it will be fixed in future major version because solution requires backwards-incompatible API changes.Throws
DeflateErrororGzipErrordepending on the type of the problem. It may indicate that one of the members of archive is damaged or it might not be archived with GZip or compressed with Deflate at all.Declaration
Swift
public static func multiUnarchive(archive data: Data) throws -> [Member]Parameters
archiveGZip archive with one or more members.
Return Value
Unarchived data.
-
Archives
datainto GZip archive, using various specified options. Data will be also compressed with Deflate algorithm. It will be also specified in archive’s header that the compressor used the slowest Deflate algorithm.If during compression something goes wrong
DeflateErrorwill be thrown. If eitherfileNameorcommentcannot be encoded with ISO Latin-1 encoding, thenGzipError.cannotEncodeISOLatin1will be thrown.Note
This function is specification compliant.
Throws
GzipError.cannotEncodeISOLatin1if file name of comment cannot be encoded with ISO-Latin-1 encoding.Declaration
Swift
public static func archive(data: Data, comment: String? = nil, fileName: String? = nil, writeHeaderCRC: Bool = false, isTextFile: Bool = false, osType: GzipHeader.FileSystemType? = nil, modificationTime: Date? = nil) throws -> DataParameters
dataData to compress and archive.
commentAdditional comment, which will be stored as a separate field in archive.
fileNameName of the file which will be archived.
writeHeaderCRCSet to true, if you want to store consistency check for archive’s header.
isTextFileSet to true, if the file which will be archived is text file or ASCII-file.
osTypeType of the system on which this archive will be created.
modificationTimeLast time the file was modified.
Return Value
Resulting archive’s data.
View on GitHub
GzipArchive Class Reference