This commit only add github actions supports for compile and testing with different version of Erlang and Elixir.
Dotzip
ZIP is one of the most widely used compressed file formats. It is universally used to aggregate, compress, and encrypt files into a single interoperable container. No specific use or application need is defined by this format and no specific implementation guidance is provided. This document provides details on the storage format for creating ZIP files. Information is provided on the records and fields that describe what a ZIP file is. -- from official specification file
Note: This project is a work in progress. Please don't use it in production.
Installation
If available in Hex, the package can be installed
by adding dotzip to your list of dependencies in mix.exs:
def deps do
[
{:dotzip, "~> 0.1.0"}
]
end
Decoding Example
create a zip file
cd /tmp
echo test > test
zip test.zip test
extract information
{:ok, file} = :file.read_file("/tmp/test.zip")
Dotzip.decode(file)
Resources
- https://www.loc.gov/preservation/digital/formats/fdd/fdd000362.shtml
- https://pkware.cachefly.net/webdocs/APPNOTE/APPNOTE-6.3.3.TXT
- https://en.wikipedia.org/wiki/ZIP_(file_format)
Other implementation
- http://infozip.sourceforge.net/
- https://github.com/kuba--/zip
- https://github.com/zip-rs/zip
- https://github.com/Stuk/jszip
- https://github.com/srikanth-lingala/zip4j
Trademarks
PKWARE, PKZIP, SecureZIP, and PKSFX are registered trademarks of PKWARE, Inc. in the United States and elsewhere. PKPatchMaker, Deflate64, and ZIP64 are trademarks of PKWARE, Inc. Other marks referenced within this document appear for identification purposes only and are the property of their respective owners.
Notes
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/dotzip.