<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://fileformats.archiveteam.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://fileformats.archiveteam.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Anonymoususer852</id>
		<title>Just Solve the File Format Problem - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://fileformats.archiveteam.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Anonymoususer852"/>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Special:Contributions/Anonymoususer852"/>
		<updated>2026-04-19T09:26:22Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.2</generator>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/MikMod_UNI_format_module</id>
		<title>MikMod UNI format module</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/MikMod_UNI_format_module"/>
				<updated>2025-09-23T04:02:10Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Added release date for this format.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Audio and Music&lt;br /&gt;
|extensions={{ext|uni}}&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/audio#L173 55 4e 30 35]&lt;br /&gt;
|released=2005&amp;lt;ref&amp;gt;[https://sourceforge.net/p/mikmod/mikmod/ci/048f5f9552a1a08694703fedd08a86a1d97f2284/ Mikmod Sound System / Code / Commit &amp;lt;nowiki&amp;gt;[048f5f]&amp;lt;/nowiki&amp;gt; - SourceForge]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
'''.uni''' (MikMod UNI format module) &amp;quot;is an internal format used by [https://mikmod.sourceforge.net/ MikMod]&amp;quot; module player/library.&amp;lt;ref&amp;gt;[https://tldp.org/HOWTO/Sound-Playing-HOWTO-2.html Sound Playing HOWTO 2 - TLDP.org]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://sourceforge.net/p/mikmod/mikmod/ci/master/tree/libmikmod/loaders/load_uni.c libmikmod/loaders/load_uni.c - MikMod VCS repository on SourceForge]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
'''.uni''' files begins with the HEX {{magic|55 4e 30 35}} which translates to &amp;quot;&amp;lt;code&amp;gt;UN05&amp;lt;/code&amp;gt;&amp;quot; in ASCII.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://mikmod.sourceforge.net/ MikMod]&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://discmaster.textfiles.com/search?mode=deep&amp;amp;extension=.uni&amp;amp;family=music&amp;amp;format=mikMod Search results of files with .uni extension - Discmaster.textfiles.com]&lt;br /&gt;
** Possibly the best known examples of this is the music that comes with a hacking game named &amp;quot;Uplink&amp;quot;, inside the [https://discmaster.textfiles.com/browse/17646/Ambrosia%20Software%20CD-ROM%20(Ambrosia%20Software,%20Inc.)(2002).bin/pc/Games/Adventure/Uplink/Uplink%201.3.3/Data/music.dat/music music.dat] which the dat file itself is effectively a [[ZIP]] file.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Game data files]]&lt;br /&gt;
[[Category:Introversion Software]]&lt;br /&gt;
[[Category:Uplink (Game)]]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Redshirt</id>
		<title>Redshirt</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Redshirt"/>
				<updated>2025-09-23T03:37:25Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Added note about redshirt2.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Encryption&lt;br /&gt;
|magic=52 45 44 53 48 49 52 54 (REDSHIRT)&amp;lt;br /&amp;gt;4F 4E 45 54 49 4D 45 52 45 44 53 48 49 52 54 (ONETIMEREDSHIRT)&lt;br /&gt;
|released=2001&lt;br /&gt;
}}&lt;br /&gt;
'''Redshirt''' was used in the [[wikipedia:Uplink (video game)|Uplink (video game)]]&amp;lt;ref&amp;gt;[https://forums.introversion.co.uk/viewtopic.php?f=44&amp;amp;t=32354 just want to asking about .dat in uplink - Introversion.co.uk forum]&amp;lt;/ref&amp;gt; to bring challenges towards players who are curious in nature. The featured game itself is about computer hacking, so the pseudo encryption was used to encrypt save games for instance to prevent players cheating the game&amp;lt;ref&amp;gt;[https://forums.introversion.co.uk/viewtopic.php?p=416942#p416942 fatal crash on start up - Introversion.co.uk forum]&amp;lt;/ref&amp;gt;, or by encrypting portions of game assets to cater for easter eggs, like the game bible series that were distributed on separate discs&amp;lt;ref&amp;gt;[https://uplinkfan.blogspot.com/2011/10/getting-book-2-of-uplink-game-bible.html Getting Book 2 of the Uplink Game Bible - UplinkFan on blogspot.com]&amp;lt;/ref&amp;gt; or shared on peer-to-peer file sharing software like Kazaa.&amp;lt;ref&amp;gt;[https://uplinkfan.blogspot.com/2011/10/getting-book-4-of-uplink-game-bible.html Getting Book 4 of the Uplink Game Bible - UplinkFan on blogspot.com]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Earlier versions of Redshirt uses simple XOR encryption scheme&amp;lt;ref&amp;gt;[https://crypto.stackexchange.com/a/1557 How can I break REDSHIRT / REDSHIRT2 encryption? - Stack Exchange]&amp;lt;/ref&amp;gt; Latter revisions incorporated features like one-time-pad (OTP) encryption&amp;lt;ref&amp;gt;[https://uplinkfan.blogspot.com/2011/10/getting-book-2-of-uplink-game-bible.html Getting Book 2 of the Uplink Game Bible - UplinkFan on blogspot.com]&amp;lt;/ref&amp;gt;. Certain revisions of redshirt2 used a different technique.&amp;lt;ref&amp;gt;[https://forums.introversion.co.uk/viewtopic.php?p=424012&amp;amp;sid=acd88a8fd17623597924e191fe40d933#p424012 Redshirt2 and Hex Editor - Introversion.co.uk forum]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
'''Redshirt''' typically begins with HEX {{magic|52 45 44 53 48 49 52 54}} which corresponds to ASCII string &amp;quot;&amp;lt;code&amp;gt;REDSHIRT&amp;lt;/code&amp;gt;&amp;quot;. Redshirt with one-time-pad (OTP) encryption begins with HEX {{magic|4F 4E 45 54 49 4D 45 52 45 44 53 48 49 52 54}} which corresponds to ASCII string &amp;quot;&amp;lt;code&amp;gt; ONETIMEREDSHIRT&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
=== Windows ===&lt;br /&gt;
* https://web.archive.org/web/20040219012231/http://www.stewsburntmonkey.com/redshirt.exe&lt;br /&gt;
* Uplink Developer CD has these under tools folder.&lt;br /&gt;
&lt;br /&gt;
=== Linux/Unix ===&lt;br /&gt;
* http://www.mario-konrad.ch/blog/software/redshirt/index.html&lt;br /&gt;
&lt;br /&gt;
=== Macintosh ===&lt;br /&gt;
* http://www.cytheraguides.com/archives/ambrosia_addons/uplink/ - the file in question is called &amp;quot;RedshirtX.sit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Non-OS specific ===&lt;br /&gt;
==== Python ====&lt;br /&gt;
* [https://crypto.stackexchange.com/a/1557 How can I break REDSHIRT / REDSHIRT2 encryption? - Stack Exchange]&lt;br /&gt;
&lt;br /&gt;
==== Rust ====&lt;br /&gt;
* https://lib.rs/crates/redshirt - upstream repository: https://github.com/FaultyRAM/redshirt-rs&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://discmaster.textfiles.com/view/17646/Ambrosia%20Software%20CD-ROM%20(Ambrosia%20Software,%20Inc.)(2002).bin/pc/Games/Adventure/Uplink/Uplink%201.3.3/Data/data.dat data.dat - Uplink 1.3.3 - Ambrosia Software CD-ROM (Ambrosia Software, Inc.)(2002).bin - Discmaster.textfiles.com]&lt;br /&gt;
* [https://discmaster.textfiles.com/view/17646/Ambrosia%20Software%20CD-ROM%20(Ambrosia%20Software,%20Inc.)(2002).bin/pc/Games/Adventure/Uplink/Uplink%201.3.3/Data/world.dat world.dat - Uplink 1.3.3 - Ambrosia Software CD-ROM (Ambrosia Software, Inc.)(2002).bin - Discmaster.textfiles.com]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Game data files]]&lt;br /&gt;
[[Category:Introversion Software]]&lt;br /&gt;
[[Category:Uplink (Game)]]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Category:Introversion_Software</id>
		<title>Category:Introversion Software</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Category:Introversion_Software"/>
				<updated>2025-09-22T17:27:48Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Created page with &amp;quot;Category:Companies and organizations&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Companies and organizations]]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/MikMod_UNI_format_module</id>
		<title>MikMod UNI format module</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/MikMod_UNI_format_module"/>
				<updated>2025-09-22T17:27:07Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Added extra categories in which best exemplifies the use of such formats.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Audio and Music&lt;br /&gt;
|extensions={{ext|uni}}&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/audio#L173 55 4e 30 35]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
'''.uni''' (MikMod UNI format module) &amp;quot;is an internal format used by [https://mikmod.sourceforge.net/ MikMod]&amp;quot; module player/library.&amp;lt;ref&amp;gt;[https://tldp.org/HOWTO/Sound-Playing-HOWTO-2.html Sound Playing HOWTO 2 - TLDP.org]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://sourceforge.net/p/mikmod/mikmod/ci/master/tree/libmikmod/loaders/load_uni.c libmikmod/loaders/load_uni.c - MikMod VCS repository on SourceForge]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
'''.uni''' files begins with the HEX {{magic|55 4e 30 35}} which translates to &amp;quot;&amp;lt;code&amp;gt;UN05&amp;lt;/code&amp;gt;&amp;quot; in ASCII.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://mikmod.sourceforge.net/ MikMod]&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://discmaster.textfiles.com/search?mode=deep&amp;amp;extension=.uni&amp;amp;family=music&amp;amp;format=mikMod Search results of files with .uni extension - Discmaster.textfiles.com]&lt;br /&gt;
** Possibly the best known examples of this is the music that comes with a hacking game named &amp;quot;Uplink&amp;quot;, inside the [https://discmaster.textfiles.com/browse/17646/Ambrosia%20Software%20CD-ROM%20(Ambrosia%20Software,%20Inc.)(2002).bin/pc/Games/Adventure/Uplink/Uplink%201.3.3/Data/music.dat/music music.dat] which the dat file itself is effectively a [[ZIP]] file.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Game data files]]&lt;br /&gt;
[[Category:Introversion Software]]&lt;br /&gt;
[[Category:Uplink (Game)]]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Category:Uplink_(Game)</id>
		<title>Category:Uplink (Game)</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Category:Uplink_(Game)"/>
				<updated>2025-09-22T17:25:34Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Created page with &amp;quot;This category includes formats and specifications of the 2001 hacking game, ''Uplink''.  Category:Introversion Software Category:Game data files&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This category includes formats and specifications of the 2001 hacking game, ''Uplink''.&lt;br /&gt;
&lt;br /&gt;
[[Category:Introversion Software]]&lt;br /&gt;
[[Category:Game data files]]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Redshirt</id>
		<title>Redshirt</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Redshirt"/>
				<updated>2025-09-22T17:22:21Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Created page with &amp;quot;{{FormatInfo |formattype=electronic |subcat=Encryption |magic=52 45 44 53 48 49 52 54 (REDSHIRT)&amp;lt;br /&amp;gt;4F 4E 45 54 49 4D 45 52 45 44 53 48 49 52 54 (ONETIMEREDSHIRT) |released=...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Encryption&lt;br /&gt;
|magic=52 45 44 53 48 49 52 54 (REDSHIRT)&amp;lt;br /&amp;gt;4F 4E 45 54 49 4D 45 52 45 44 53 48 49 52 54 (ONETIMEREDSHIRT)&lt;br /&gt;
|released=2001&lt;br /&gt;
}}&lt;br /&gt;
'''Redshirt''' was used in the [[wikipedia:Uplink (video game)|Uplink (video game)]]&amp;lt;ref&amp;gt;[https://forums.introversion.co.uk/viewtopic.php?f=44&amp;amp;t=32354 just want to asking about .dat in uplink - Introversion.co.uk forum]&amp;lt;/ref&amp;gt; to bring challenges towards players who are curious in nature. The featured game itself is about computer hacking, so the pseudo encryption was used to encrypt save games for instance to prevent players cheating the game&amp;lt;ref&amp;gt;[https://forums.introversion.co.uk/viewtopic.php?p=416942#p416942 fatal crash on start up - Introversion.co.uk forum]&amp;lt;/ref&amp;gt;, or by encrypting portions of game assets to cater for easter eggs, like the game bible series that were distributed on separate discs&amp;lt;ref&amp;gt;[https://uplinkfan.blogspot.com/2011/10/getting-book-2-of-uplink-game-bible.html Getting Book 2 of the Uplink Game Bible - UplinkFan on blogspot.com]&amp;lt;/ref&amp;gt; or shared on peer-to-peer file sharing software like Kazaa.&amp;lt;ref&amp;gt;[https://uplinkfan.blogspot.com/2011/10/getting-book-4-of-uplink-game-bible.html Getting Book 4 of the Uplink Game Bible - UplinkFan on blogspot.com]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Earlier versions of Redshirt uses simple XOR encryption scheme&amp;lt;ref&amp;gt;[https://crypto.stackexchange.com/a/1557 How can I break REDSHIRT / REDSHIRT2 encryption? - Stack Exchange]&amp;lt;/ref&amp;gt; Latter revisions incorporated features like one-time-pad (OTP) encryption&amp;lt;ref&amp;gt;[https://uplinkfan.blogspot.com/2011/10/getting-book-2-of-uplink-game-bible.html Getting Book 2 of the Uplink Game Bible - UplinkFan on blogspot.com]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
'''Redshirt''' typically begins with HEX {{magic|52 45 44 53 48 49 52 54}} which corresponds to ASCII string &amp;quot;&amp;lt;code&amp;gt;REDSHIRT&amp;lt;/code&amp;gt;&amp;quot;. Redshirt with one-time-pad (OTP) encryption begins with HEX {{magic|4F 4E 45 54 49 4D 45 52 45 44 53 48 49 52 54}} which corresponds to ASCII string &amp;quot;&amp;lt;code&amp;gt; ONETIMEREDSHIRT&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
=== Windows ===&lt;br /&gt;
* https://web.archive.org/web/20040219012231/http://www.stewsburntmonkey.com/redshirt.exe&lt;br /&gt;
* Uplink Developer CD has these under tools folder.&lt;br /&gt;
&lt;br /&gt;
=== Linux/Unix ===&lt;br /&gt;
* http://www.mario-konrad.ch/blog/software/redshirt/index.html&lt;br /&gt;
&lt;br /&gt;
=== Macintosh ===&lt;br /&gt;
* http://www.cytheraguides.com/archives/ambrosia_addons/uplink/ - the file in question is called &amp;quot;RedshirtX.sit&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Non-OS specific ===&lt;br /&gt;
==== Python ====&lt;br /&gt;
* [https://crypto.stackexchange.com/a/1557 How can I break REDSHIRT / REDSHIRT2 encryption? - Stack Exchange]&lt;br /&gt;
&lt;br /&gt;
==== Rust ====&lt;br /&gt;
* https://lib.rs/crates/redshirt - upstream repository: https://github.com/FaultyRAM/redshirt-rs&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://discmaster.textfiles.com/view/17646/Ambrosia%20Software%20CD-ROM%20(Ambrosia%20Software,%20Inc.)(2002).bin/pc/Games/Adventure/Uplink/Uplink%201.3.3/Data/data.dat data.dat - Uplink 1.3.3 - Ambrosia Software CD-ROM (Ambrosia Software, Inc.)(2002).bin - Discmaster.textfiles.com]&lt;br /&gt;
* [https://discmaster.textfiles.com/view/17646/Ambrosia%20Software%20CD-ROM%20(Ambrosia%20Software,%20Inc.)(2002).bin/pc/Games/Adventure/Uplink/Uplink%201.3.3/Data/world.dat world.dat - Uplink 1.3.3 - Ambrosia Software CD-ROM (Ambrosia Software, Inc.)(2002).bin - Discmaster.textfiles.com]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Game data files]]&lt;br /&gt;
[[Category:Introversion Software]]&lt;br /&gt;
[[Category:Uplink (Game)]]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Category:File_formats_with_extension_.uni</id>
		<title>Category:File formats with extension .uni</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Category:File_formats_with_extension_.uni"/>
				<updated>2025-09-22T15:45:01Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Created page with &amp;quot;U&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:File formats by extension|U]]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/MikMod_UNI_format_module</id>
		<title>MikMod UNI format module</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/MikMod_UNI_format_module"/>
				<updated>2025-09-22T15:43:11Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Created page with &amp;quot;{{FormatInfo |formattype=electronic |subcat=Audio and Music |extensions={{ext|uni}} |magic=[https://github.com/file/file/blob/master/magic/Magdir/audio#L173 55 4e 30 35] }}  =...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Audio and Music&lt;br /&gt;
|extensions={{ext|uni}}&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/audio#L173 55 4e 30 35]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
'''.uni''' (MikMod UNI format module) &amp;quot;is an internal format used by [https://mikmod.sourceforge.net/ MikMod]&amp;quot; module player/library.&amp;lt;ref&amp;gt;[https://tldp.org/HOWTO/Sound-Playing-HOWTO-2.html Sound Playing HOWTO 2 - TLDP.org]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://sourceforge.net/p/mikmod/mikmod/ci/master/tree/libmikmod/loaders/load_uni.c libmikmod/loaders/load_uni.c - MikMod VCS repository on SourceForge]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
'''.uni''' files begins with the HEX {{magic|55 4e 30 35}} which translates to &amp;quot;&amp;lt;code&amp;gt;UN05&amp;lt;/code&amp;gt;&amp;quot; in ASCII.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://mikmod.sourceforge.net/ MikMod]&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://discmaster.textfiles.com/search?mode=deep&amp;amp;extension=.uni&amp;amp;family=music&amp;amp;format=mikMod Search results of files with .uni extension - Discmaster.textfiles.com]&lt;br /&gt;
** Possibly the best known examples of this is the music that comes with a hacking game named &amp;quot;Uplink&amp;quot;, inside the [https://discmaster.textfiles.com/browse/17646/Ambrosia%20Software%20CD-ROM%20(Ambrosia%20Software,%20Inc.)(2002).bin/pc/Games/Adventure/Uplink/Uplink%201.3.3/Data/music.dat/music music.dat] which the dat file itself is effectively a [[ZIP]] file.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Talk:Unified_diff</id>
		<title>Talk:Unified diff</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Talk:Unified_diff"/>
				<updated>2025-09-21T00:00:15Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Added topics for discussion.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Identification mess ==&lt;br /&gt;
Not always does unified diff or patch files consistently begins with &amp;lt;code&amp;gt;@@&amp;lt;/code&amp;gt;. Some, notably older unified diff files also contains &amp;lt;code&amp;gt;***&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;---&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;---&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;+++&amp;lt;/code&amp;gt; to provide file changes, e.g.&lt;br /&gt;
  *** lib/cap/atalkdbm.c.orig	Wed Mar 20 17:02:57 1991&lt;br /&gt;
  --- lib/cap/atalkdbm.c	Wed Mar 20 17:03:30 1991&lt;br /&gt;
  ***************&lt;br /&gt;
  *** 1,7 ****&lt;br /&gt;
    /*&lt;br /&gt;
  !  * $Date: 91/03/15 14:56:00 $&lt;br /&gt;
  !  * $Header: atalkdbm.c,v 2.3 91/03/15 14:56:00 djh Exp $&lt;br /&gt;
  !  * $Revision: 2.3 $&lt;br /&gt;
Source: https://tsubaki.st.ryukoku.ac.jp/pub/network/cap/cap.patches/cap60.patch001&lt;br /&gt;
&lt;br /&gt;
In general, a modern &amp;lt;code&amp;gt;patch&amp;lt;/code&amp;gt; utility will often detect whether or not if the supplied file is in the specified unified diff format and prompt if necessary.&lt;br /&gt;
&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 00:00, 21 September 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Interesting quirks when applying changes via the utilities ==&lt;br /&gt;
=== &amp;lt;code&amp;gt;.orig&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;.rej&amp;lt;/code&amp;gt; files ===&lt;br /&gt;
&amp;lt;code&amp;gt;patch&amp;lt;/code&amp;gt; will produce a file with &amp;lt;code&amp;gt;.orig&amp;lt;/code&amp;gt; extension if:&lt;br /&gt;
* &amp;lt;code&amp;gt;--backup&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--backup-if-mismatch&amp;lt;/code&amp;gt; is set, or&lt;br /&gt;
* the targeted file is successfully applied with fuzzing&lt;br /&gt;
** fuzzing &amp;quot;only applies to diffs that have context, and causes patch to ignore up to that many lines of context in looking for places to install a hunk.&amp;quot; -- https://www.gnu.org/software/diffutils/manual/html_node/Inexact.html&lt;br /&gt;
&lt;br /&gt;
In addition, &amp;lt;code&amp;gt;patch&amp;lt;/code&amp;gt; will produce a file with &amp;lt;code&amp;gt;.rej&amp;lt;/code&amp;gt; extension if:&lt;br /&gt;
* the specified diff/patch file does not correctly match with the contents of the file to be patched itself, or&lt;br /&gt;
* the fuzz factor was set too low&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;git apply --3way ...&amp;lt;/code&amp;gt; in particular will not generate either of these files in applicable cases, if the changes did not apply cleanly.&lt;br /&gt;
&lt;br /&gt;
=== Preserving timestamp ===&lt;br /&gt;
When applying changes via GNU &amp;lt;code&amp;gt;patch&amp;lt;/code&amp;gt;, the updated file or files often has the last-modified time adjusted to the date when the changes were applied. This is a rather unfortunate side-effect in which those wanting to preserve timestamp that is as indicated (which is an optional field) in the supplied unified diff or patch be consequently lost in the process. While it is possible to re-adjust the last-modified timestamp to more accurately represent the time when it was initially modified, via &amp;lt;code&amp;gt;touch&amp;lt;/code&amp;gt;, there is no trivial way of doing that as either,&lt;br /&gt;
* Indicated timestamp format is tied to the creator of unified diff's locale,&lt;br /&gt;
** i.e. it may or may not be in [[wikipedia:ISO_8601|ISO 8601]] format,&lt;br /&gt;
** timezone is specific to the creator of unified diff, which can cause time skew/variance&lt;br /&gt;
* The optional field is not in a time format, but RCS/VCS indicating changes from the version that it was previously from, or,&lt;br /&gt;
* The optional field is empty&lt;br /&gt;
&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 00:00, 21 September 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Unified_diff</id>
		<title>Unified diff</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Unified_diff"/>
				<updated>2025-09-20T22:56:21Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Indicate and provide example of git utility can be used to also generate and apply unified diff.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|patch}}, {{ext|diff}}&lt;br /&gt;
|released=1991&lt;br /&gt;
|image=Unified diff.png&lt;br /&gt;
|caption=Unified diff example&lt;br /&gt;
}}&lt;br /&gt;
'''Unified diff''' (or '''diff unified format''', '''unified context diff''', '''unidiff''') is a [[diff]] format commonly used for patch files.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
Unlike other diff formats, Unified diff has lines that begin with &amp;quot;@@&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* [http://www.artima.com/weblogs/viewpost.jsp?thread=164293 Unified Diff Format] - Ad-hoc specification by Guido van Rossum&lt;br /&gt;
* [http://www.gnu.org/software/diffutils/manual/html_node/Detailed-Unified.html GNU Diffutilis manual: Detailed Description of Unified Format]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [http://www.gnu.org/software/diffutils/ GNU Diffutils]: &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; (with &amp;lt;code&amp;gt;-u&amp;lt;/code&amp;gt; option), &amp;lt;code&amp;gt;patch&amp;lt;/code&amp;gt;&lt;br /&gt;
* [https://git-scm.com/ git]: &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; with either &amp;lt;code&amp;gt;git diff...&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;git format-patch...&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;git log -p&amp;lt;/code&amp;gt; can be used to provide unified diff&lt;br /&gt;
** Conversely &amp;lt;code&amp;gt;git apply ...&amp;lt;/code&amp;gt; can be used to apply diff or patches that were created via &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; and that the user is inside a functional git filesystem, where top directory has a folder named &amp;lt;code&amp;gt;.git&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [http://www.gnu.org/software/diffutils/manual/html_node/Example-Unified.html Example from the GNU Diffutils manual]&lt;br /&gt;
* http://www.apache.org/dist/httpd/patches/ ...&lt;br /&gt;
* [https://patch-diff.githubusercontent.com/raw/git/git/pull/6.diff Updated git-remote documentation #6 in patch/diff format - GitHub] - via inputting &amp;lt;code&amp;gt;https://github.com/git/git/pull/6.diff&amp;lt;/code&amp;gt; into the address bar will make GitHub provide the pull request (PR) in a suitable patch/diff format&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Wikipedia:Diff utility#Unified_format|Wikipedia:Diff utility]] has a section on Unified diff&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/User:Anonymoususer852</id>
		<title>User:Anonymoususer852</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/User:Anonymoususer852"/>
				<updated>2025-09-05T16:59:35Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, I [[Special:Contributions/Anonymoususer852|waffle a lot]] lol.&lt;br /&gt;
&lt;br /&gt;
== My ramblings ==&lt;br /&gt;
* [[EPWING]]&lt;br /&gt;
* [[EBZip]]&lt;br /&gt;
** [[Talk:EBZip]] - This especially :'D.&lt;br /&gt;
* [[DWARFS]]&lt;br /&gt;
* [[SquashFS]]&lt;br /&gt;
** [[Talk:Squashfs]]&lt;br /&gt;
* [[XP3]]&lt;br /&gt;
* [[Linux]]&lt;br /&gt;
* [[Initramfs]]&lt;br /&gt;
* [[Vmlinuz]]&lt;br /&gt;
* [[Firmware]]&lt;br /&gt;
* [[Solid-State Drive]]&lt;br /&gt;
* [[Advanced Forensics Format]]&lt;br /&gt;
…&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/User:Anonymoususer852</id>
		<title>User:Anonymoususer852</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/User:Anonymoususer852"/>
				<updated>2025-09-05T16:41:38Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* My ramblings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, I waffle a lot lol.&lt;br /&gt;
&lt;br /&gt;
== My ramblings ==&lt;br /&gt;
* [[EPWING]]&lt;br /&gt;
* [[EBZip]]&lt;br /&gt;
** [[Talk:EBZip]] - This especially :'D.&lt;br /&gt;
* [[DWARFS]]&lt;br /&gt;
* [[SquashFS]]&lt;br /&gt;
** [[Talk:Squashfs]]&lt;br /&gt;
* [[XP3]]&lt;br /&gt;
* [[Linux]]&lt;br /&gt;
* [[Initramfs]]&lt;br /&gt;
* [[Vmlinuz]]&lt;br /&gt;
* [[Firmware]]&lt;br /&gt;
* [[Solid-State Drive]]&lt;br /&gt;
…&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/User:Anonymoususer852</id>
		<title>User:Anonymoususer852</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/User:Anonymoususer852"/>
				<updated>2025-09-05T16:38:40Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* My ramblings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, I waffle a lot lol.&lt;br /&gt;
&lt;br /&gt;
== My ramblings ==&lt;br /&gt;
* [[EPWING]]&lt;br /&gt;
* [[EBZip]]&lt;br /&gt;
** [[Talk:EBZip]] - This especially :'D.&lt;br /&gt;
* [[DWARFS]]&lt;br /&gt;
* [[SquashFS]]&lt;br /&gt;
** [[Talk:Squashfs]]&lt;br /&gt;
* [[XP3]]&lt;br /&gt;
* [[Linux]]&lt;br /&gt;
* [[Initramfs]]&lt;br /&gt;
* [[Vmlinuz]]&lt;br /&gt;
* [[Firmware]]&lt;br /&gt;
…&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/User:Anonymoususer852</id>
		<title>User:Anonymoususer852</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/User:Anonymoususer852"/>
				<updated>2025-09-05T16:38:15Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* My ramblings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, I waffle a lot lol.&lt;br /&gt;
&lt;br /&gt;
== My ramblings ==&lt;br /&gt;
* [[EPWING]]&lt;br /&gt;
* [[EBZip]]&lt;br /&gt;
** [[Talk:EBZip]] - This especially :'D.&lt;br /&gt;
* [[DWARFS]]&lt;br /&gt;
* [[SquashFS]]&lt;br /&gt;
** [[Talk:SquashFS]]&lt;br /&gt;
* [[XP3]]&lt;br /&gt;
* [[Linux]]&lt;br /&gt;
* [[Initramfs]]&lt;br /&gt;
* [[Vmlinuz]]&lt;br /&gt;
* [[Firmware]]&lt;br /&gt;
…&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/User:Anonymoususer852</id>
		<title>User:Anonymoususer852</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/User:Anonymoususer852"/>
				<updated>2025-09-05T16:35:11Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Created page with &amp;quot;Hi, I waffle a lot lol.  == My ramblings == * EPWING * EBZip ** Talk:EBZip - This especially :'D. * DWARFS * SquashFS * XP3 * Linux * Initramfs...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, I waffle a lot lol.&lt;br /&gt;
&lt;br /&gt;
== My ramblings ==&lt;br /&gt;
* [[EPWING]]&lt;br /&gt;
* [[EBZip]]&lt;br /&gt;
** [[Talk:EBZip]] - This especially :'D.&lt;br /&gt;
* [[DWARFS]]&lt;br /&gt;
* [[SquashFS]]&lt;br /&gt;
* [[XP3]]&lt;br /&gt;
* [[Linux]]&lt;br /&gt;
* [[Initramfs]]&lt;br /&gt;
* [[Vmlinuz]]&lt;br /&gt;
* [[Firmware]]&lt;br /&gt;
…&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EBZip</id>
		<title>EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EBZip"/>
				<updated>2025-09-05T16:07:28Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Updated magic, after comparing it with other .ebz files like HONMON.ebz and GAI*.ebz files.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Compression&lt;br /&gt;
|extensions={{ext|ebz}}&lt;br /&gt;
|compression=lossless&lt;br /&gt;
|magic=45 42 5A 69 70 15 00 00 00 00&lt;br /&gt;
|released=1999&amp;lt;ref&amp;gt;[https://web.archive.org/web/20010619200710/http://www.sra.co.jp/people/m-kasahr/eb/ChangeLog-ja.html ChangeLog - SRA website mirrored on Internet Archive]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{notice|1=Majority of the links/citations are in Japanese.}}&lt;br /&gt;
&lt;br /&gt;
'''Electronic Book Zip or EBZip''' is a compression format used in electronic dictionaries that were distributed primarily on compact discs (CD). It is also one of the many frontend utilities that uses the EB library for manipulating [[EPWING]] format. &lt;br /&gt;
&lt;br /&gt;
The electronic dictionaries stored on computers eliminates the need to have physical media, and allows remote referencing if it was connected to a network, using the likes of &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ebnetd&amp;lt;/code&amp;gt; for instance. It is likely that compression was needed due to the fact that hard disks were expensive compared to compact discs, when having a number of electronic dictionaries stored on a computer, it made little sense to retain physical media just to reference a number of words every so often, and to juggle around ejecting/inserting discs into the computer. For the expense of sacrificing few CPU cycles and potentially insignificant amount of memory, these electronic dictionaries could be made to take less storage space&amp;lt;ref&amp;gt;[https://web.archive.org/web/20170705202139/http://sci.lang.japan.narkive.com/X84h0clT/kenkyusha-dictionary-cd-and-epwing#post2 Kenkyusha dictionary CD and EPWING - sci.lang.japan NARKIVE - Internet Archive copy]&amp;lt;/ref&amp;gt;, and allows faster dictionary lookups due to hard disks allowing random access.&lt;br /&gt;
&lt;br /&gt;
The compression is lossless, initially using a modified [https://www.zlib.net/ zlib]&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/blob/742248c23cf7769d0fed412cbce458222a437795/zlib/README.altered Last version released with internal zlib - README.altered - version 4.1.3 - Misty De Méo]&amp;lt;/ref&amp;gt;, then likely unmodified zlib by the original &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; author&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/commit/742ddab4f255b7c34d7d1f1b4e3fd245bfc3ea18 Internal zlib removed - Commit 742ddab (4.2) - Misty De Méo]&amp;lt;/ref&amp;gt;. Do keep in mind that not everything is compressed, EBZ format is not a container like [[ZIP]] for instance, selected files (typically &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;) are compressed and have their filenames bearing these extensions, e.g. &amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
EB-like software for Unix-like began circulating on Japanese Usenet as early as September 1991 in the form of [[shar]] by Shingo Nishioka of Osaka University.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=NISHIOKA.91Sep3191513@sp4.sanken.osaka-u.ac.jp dserver/Electronic Book Dictionary server &amp;amp; clients (1/2) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=NISHIOKA.91Sep3191550@sp4.sanken.osaka-u.ac.jp dserver/Electronic Book Dictionary server &amp;amp; clients (2/2) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Versions before 2.1beta of &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; lacked compression, which was introduced as early as 1996-03-25 by Yura Shunsuke.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=4j5h0e$2am@isnews.is.s.u-tokyo.ac.jp dserver 2.1-beta patch for compressed dictionary - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Gradually over time, Motoyuki Kasahara, a member of Software Research Associates (SRA) and the author of EB Library, began developing &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt; which handles electronic dictionary or dictionaries over the network, replacing &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5rp4qp$3sk$1@sranhh.sra.co.jp BookView 1.0 - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sctc3$irv$2@sranhh.sra.co.jp BookView 1.0.2 (Re: BookView 1.0) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=64emm8$mcf$1@sranhh.sra.co.jp BookView 1.1 (1/3) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; The first release of such software was around 1997-06-04 as &amp;lt;code&amp;gt;ndtpd-1.0beta0&amp;lt;/code&amp;gt; (via FTP) with which it included &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; which was a library. Earliest release on fj.sources was 1997-08-07 as &amp;lt;code&amp;gt;ndtpd-1.0&amp;lt;/code&amp;gt;, which also describes the relationship between &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt;, as [[shar]].&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4ns$31a$2@sranhh.sra.co.jp ndtpd 1.0 (0/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4pr$3o1$1@sranhh.sra.co.jp ndtpd 1.0 (1/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4rn$3o1$2@sranhh.sra.co.jp ndtpd 1.0 (2/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4te$3o1$3@sranhh.sra.co.jp ndtpd 1.0 (3/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4vf$3o1$4@sranhh.sra.co.jp ndtpd 1.0 (4/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc514$3o1$5@sranhh.sra.co.jp ndtpd 1.0 (5/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc52p$3o1$6@sranhh.sra.co.jp ndtpd 1.0 (6/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc54s$3o1$7@sranhh.sra.co.jp ndtpd 1.0 (7/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc55j$3o1$8@sranhh.sra.co.jp ndtpd 1.0 (8/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc56d$3o1$9@sranhh.sra.co.jp ndtpd 1.0 (9/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Until the release of &amp;lt;code&amp;gt;ndtpd-3.0alpha0&amp;lt;/code&amp;gt; (2000-06-04), &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; has always been included. EB Library began as a separate project with the first release in 1999-06-16 as &amp;lt;code&amp;gt;eb-2.2&amp;lt;/code&amp;gt;. Both of these projects continued until the discontinuation of &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt; (as a release) on 2003-05-24 with the version 3.1.5. &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; remained to be maintained until 2010-03-08 with the version 4.4.3. &lt;br /&gt;
&lt;br /&gt;
== EBUZip ==&lt;br /&gt;
EBUZip is a fork of EBZip that is maintained by Ito Kazuhiro. The 'U' in EBUZip denotes the ability to support JIS X 4081 UTF-8 extensions provided that it is compiled and configured correctly. It also brings in new features that differs from EBZip such as,&lt;br /&gt;
* The ability to use libdeflate algorithm at compile time, which, &amp;quot;is a library for fast, whole-buffer DEFLATE-based compression and decompression.&amp;quot;&amp;lt;ref&amp;gt;[https://github.com/ebiggers/libdeflate?tab=readme-ov-file#overview README.md Overview section - libdeflate - GitHub]&amp;lt;/ref&amp;gt;, which was added on 2019-06-30.&amp;lt;ref&amp;gt;[http://green.ribbon.to/~ikazuhiro/dic/ebu.html EB Library with UTF-8 extension]&amp;lt;/ref&amp;gt;. Additionally, the new maintainer provided benchmark results against uncompressed, zlib and libdeflate.&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/article.php/20190701203038572 Compressing EPWING (using libdeflate)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
** libdeflate can also decompress EPWING e-books compressed with zlib, as well as recompressing them with potentially higher compression ratio. This could subsequently make it a viable candidate instead of needing to alternate between EBZip and EBUZip, see the [[Talk:EBZip#The_viability_ebuzip_as_a_possible_drop-in_replacement_candidate|Talk:EBZip section on this]] which is covered in detail.&lt;br /&gt;
* Fixes to work on a newer codebase, as opposed to maintaining a series of patches on top of libeb.&amp;lt;ref&amp;gt;[https://sources.debian.org/data/main/e/eb/4.4.3-14/debian/patches/010_debian.patch 010_debian.patch - eb-4.4.3-14 - sources.debian.org]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mr. Kazuhiro have also previously contributed to Mr. Kasahara's EBZip project, on 2000-06-24.&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/blob/master/ChangeLog.1#L1371 ChangeLog.1 (line 1371) - EB Library - Misty De Méo]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
A &amp;lt;code&amp;gt;EBZ&amp;lt;/code&amp;gt; file begins with bytes {{magic|45 42 5a 69 70 15 00 00 00 00}}, in ASCII this would be &amp;lt;code&amp;gt;&amp;quot;EBZip....&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
'''These must be executed in the top level of (book) directory that contains &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt; file, otherwise it will default to your current directory &amp;lt;code&amp;gt;$(pwd)&amp;lt;/code&amp;gt;.''' See [[EPWING#Content structure]] for the directory structure of book layout.&lt;br /&gt;
If you are using EBUZip, the name of the compiled binary is &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt;, as opposed to &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Show information about the file:&lt;br /&gt;
  ebzip --information&lt;br /&gt;
Decompress files:&lt;br /&gt;
  ebzip --uncompress wikipedia-fpw&lt;br /&gt;
Compress files:&lt;br /&gt;
  ebzip wikipedia-fpw&lt;br /&gt;
Test files:&lt;br /&gt;
  ebzip --test wikipedia-fpw&lt;br /&gt;
Show help:&lt;br /&gt;
  ebzip --help&lt;br /&gt;
&lt;br /&gt;
== Sample file ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Filename&lt;br /&gt;
| Main server download link&lt;br /&gt;
| Mirror server download link&lt;br /&gt;
| Notes&lt;br /&gt;
|-&lt;br /&gt;
| kanjidic_en.fpwebz.tar&lt;br /&gt;
| [http://ftp.edrdg.org/pub/Nihongo/edict_en.fpwebz.tar EDRDG.org]&lt;br /&gt;
| [http://ftp.usf.edu/pub/ftp.monash.edu.au/pub/nihongo/kanjidic_en.fpwebz.tar USF.edu]&lt;br /&gt;
| Use [[7-Zip]] to open on Windows machines for instance, otherwise [[Tar]] should suffice.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software (mostly Japanese only) ==&lt;br /&gt;
See also: [[Wikipedia:ja:EPWING#検索ソフトウェア]]&lt;br /&gt;
* Windows&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/WinEBZip-0.0.exe WinEBZip.exe on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/WinEBZip-0.0.zip WinEBZip.zip on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [https://ebstudio.info/manual/EBWin4/EBWin4.html EBWin4]&lt;br /&gt;
* Linux&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/ EB Library directory on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [http://green.ribbon.to/~ikazuhiro/dic/ebu.html EBU - EB Library with JIS X 4081 UTF-8 extension]&lt;br /&gt;
** [https://github.com/mvf/qolibri qolibri EPWING dictionary viewer]&lt;br /&gt;
&lt;br /&gt;
== Links (mostly Japanese only) ==&lt;br /&gt;
* [[Wikipedia:ja:電子ブック (規格)]]&lt;br /&gt;
* [https://web.archive.org/web/20010606001016/http://www.sra.co.jp/people/m-kasahr/eb/index-ja.html Internet Archive's mirror of EB Library that was hosted on SRA's website]&lt;br /&gt;
* [http://green.ribbon.to/~ikazuhiro/dic/ebu.html EBU]&lt;br /&gt;
&lt;br /&gt;
== References (mostly Japanese only) ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EBZip</id>
		<title>EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EBZip"/>
				<updated>2025-09-05T15:59:08Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* EBUZip */ Added note as a possibility to just use EBUZip regardless, instead of needing to keep two compiled binaries or packages that uses slightly different compression libraries.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Compression&lt;br /&gt;
|extensions={{ext|ebz}}&lt;br /&gt;
|compression=lossless&lt;br /&gt;
|magic=45 42 5a 69 70 15 00 00 00 00 00 00 10 00 8b e8&lt;br /&gt;
|released=1999&amp;lt;ref&amp;gt;[https://web.archive.org/web/20010619200710/http://www.sra.co.jp/people/m-kasahr/eb/ChangeLog-ja.html ChangeLog - SRA website mirrored on Internet Archive]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{notice|1=Majority of the links/citations are in Japanese.}}&lt;br /&gt;
&lt;br /&gt;
'''Electronic Book Zip or EBZip''' is a compression format used in electronic dictionaries that were distributed primarily on compact discs (CD). It is also one of the many frontend utilities that uses the EB library for manipulating [[EPWING]] format. &lt;br /&gt;
&lt;br /&gt;
The electronic dictionaries stored on computers eliminates the need to have physical media, and allows remote referencing if it was connected to a network, using the likes of &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ebnetd&amp;lt;/code&amp;gt; for instance. It is likely that compression was needed due to the fact that hard disks were expensive compared to compact discs, when having a number of electronic dictionaries stored on a computer, it made little sense to retain physical media just to reference a number of words every so often, and to juggle around ejecting/inserting discs into the computer. For the expense of sacrificing few CPU cycles and potentially insignificant amount of memory, these electronic dictionaries could be made to take less storage space&amp;lt;ref&amp;gt;[https://web.archive.org/web/20170705202139/http://sci.lang.japan.narkive.com/X84h0clT/kenkyusha-dictionary-cd-and-epwing#post2 Kenkyusha dictionary CD and EPWING - sci.lang.japan NARKIVE - Internet Archive copy]&amp;lt;/ref&amp;gt;, and allows faster dictionary lookups due to hard disks allowing random access.&lt;br /&gt;
&lt;br /&gt;
The compression is lossless, initially using a modified [https://www.zlib.net/ zlib]&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/blob/742248c23cf7769d0fed412cbce458222a437795/zlib/README.altered Last version released with internal zlib - README.altered - version 4.1.3 - Misty De Méo]&amp;lt;/ref&amp;gt;, then likely unmodified zlib by the original &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; author&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/commit/742ddab4f255b7c34d7d1f1b4e3fd245bfc3ea18 Internal zlib removed - Commit 742ddab (4.2) - Misty De Méo]&amp;lt;/ref&amp;gt;. Do keep in mind that not everything is compressed, EBZ format is not a container like [[ZIP]] for instance, selected files (typically &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;) are compressed and have their filenames bearing these extensions, e.g. &amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
EB-like software for Unix-like began circulating on Japanese Usenet as early as September 1991 in the form of [[shar]] by Shingo Nishioka of Osaka University.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=NISHIOKA.91Sep3191513@sp4.sanken.osaka-u.ac.jp dserver/Electronic Book Dictionary server &amp;amp; clients (1/2) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=NISHIOKA.91Sep3191550@sp4.sanken.osaka-u.ac.jp dserver/Electronic Book Dictionary server &amp;amp; clients (2/2) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Versions before 2.1beta of &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; lacked compression, which was introduced as early as 1996-03-25 by Yura Shunsuke.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=4j5h0e$2am@isnews.is.s.u-tokyo.ac.jp dserver 2.1-beta patch for compressed dictionary - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Gradually over time, Motoyuki Kasahara, a member of Software Research Associates (SRA) and the author of EB Library, began developing &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt; which handles electronic dictionary or dictionaries over the network, replacing &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5rp4qp$3sk$1@sranhh.sra.co.jp BookView 1.0 - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sctc3$irv$2@sranhh.sra.co.jp BookView 1.0.2 (Re: BookView 1.0) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=64emm8$mcf$1@sranhh.sra.co.jp BookView 1.1 (1/3) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; The first release of such software was around 1997-06-04 as &amp;lt;code&amp;gt;ndtpd-1.0beta0&amp;lt;/code&amp;gt; (via FTP) with which it included &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; which was a library. Earliest release on fj.sources was 1997-08-07 as &amp;lt;code&amp;gt;ndtpd-1.0&amp;lt;/code&amp;gt;, which also describes the relationship between &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt;, as [[shar]].&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4ns$31a$2@sranhh.sra.co.jp ndtpd 1.0 (0/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4pr$3o1$1@sranhh.sra.co.jp ndtpd 1.0 (1/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4rn$3o1$2@sranhh.sra.co.jp ndtpd 1.0 (2/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4te$3o1$3@sranhh.sra.co.jp ndtpd 1.0 (3/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4vf$3o1$4@sranhh.sra.co.jp ndtpd 1.0 (4/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc514$3o1$5@sranhh.sra.co.jp ndtpd 1.0 (5/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc52p$3o1$6@sranhh.sra.co.jp ndtpd 1.0 (6/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc54s$3o1$7@sranhh.sra.co.jp ndtpd 1.0 (7/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc55j$3o1$8@sranhh.sra.co.jp ndtpd 1.0 (8/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc56d$3o1$9@sranhh.sra.co.jp ndtpd 1.0 (9/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Until the release of &amp;lt;code&amp;gt;ndtpd-3.0alpha0&amp;lt;/code&amp;gt; (2000-06-04), &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; has always been included. EB Library began as a separate project with the first release in 1999-06-16 as &amp;lt;code&amp;gt;eb-2.2&amp;lt;/code&amp;gt;. Both of these projects continued until the discontinuation of &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt; (as a release) on 2003-05-24 with the version 3.1.5. &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; remained to be maintained until 2010-03-08 with the version 4.4.3. &lt;br /&gt;
&lt;br /&gt;
== EBUZip ==&lt;br /&gt;
EBUZip is a fork of EBZip that is maintained by Ito Kazuhiro. The 'U' in EBUZip denotes the ability to support JIS X 4081 UTF-8 extensions provided that it is compiled and configured correctly. It also brings in new features that differs from EBZip such as,&lt;br /&gt;
* The ability to use libdeflate algorithm at compile time, which, &amp;quot;is a library for fast, whole-buffer DEFLATE-based compression and decompression.&amp;quot;&amp;lt;ref&amp;gt;[https://github.com/ebiggers/libdeflate?tab=readme-ov-file#overview README.md Overview section - libdeflate - GitHub]&amp;lt;/ref&amp;gt;, which was added on 2019-06-30.&amp;lt;ref&amp;gt;[http://green.ribbon.to/~ikazuhiro/dic/ebu.html EB Library with UTF-8 extension]&amp;lt;/ref&amp;gt;. Additionally, the new maintainer provided benchmark results against uncompressed, zlib and libdeflate.&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/article.php/20190701203038572 Compressing EPWING (using libdeflate)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
** libdeflate can also decompress EPWING e-books compressed with zlib, as well as recompressing them with potentially higher compression ratio. This could subsequently make it a viable candidate instead of needing to alternate between EBZip and EBUZip, see the [[Talk:EBZip#The_viability_ebuzip_as_a_possible_drop-in_replacement_candidate|Talk:EBZip section on this]] which is covered in detail.&lt;br /&gt;
* Fixes to work on a newer codebase, as opposed to maintaining a series of patches on top of libeb.&amp;lt;ref&amp;gt;[https://sources.debian.org/data/main/e/eb/4.4.3-14/debian/patches/010_debian.patch 010_debian.patch - eb-4.4.3-14 - sources.debian.org]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mr. Kazuhiro have also previously contributed to Mr. Kasahara's EBZip project, on 2000-06-24.&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/blob/master/ChangeLog.1#L1371 ChangeLog.1 (line 1371) - EB Library - Misty De Méo]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
A &amp;lt;code&amp;gt;EBZ&amp;lt;/code&amp;gt; file begins with bytes {{magic|45 42 5a 69 70 15 00 00 00 00 00 00 10 00 8b e8}}.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
'''These must be executed in the top level of (book) directory that contains &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt; file, otherwise it will default to your current directory &amp;lt;code&amp;gt;$(pwd)&amp;lt;/code&amp;gt;.''' See [[EPWING#Content structure]] for the directory structure of book layout.&lt;br /&gt;
If you are using EBUZip, the name of the compiled binary is &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt;, as opposed to &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Show information about the file:&lt;br /&gt;
  ebzip --information&lt;br /&gt;
Decompress files:&lt;br /&gt;
  ebzip --uncompress wikipedia-fpw&lt;br /&gt;
Compress files:&lt;br /&gt;
  ebzip wikipedia-fpw&lt;br /&gt;
Test files:&lt;br /&gt;
  ebzip --test wikipedia-fpw&lt;br /&gt;
Show help:&lt;br /&gt;
  ebzip --help&lt;br /&gt;
&lt;br /&gt;
== Sample file ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Filename&lt;br /&gt;
| Main server download link&lt;br /&gt;
| Mirror server download link&lt;br /&gt;
| Notes&lt;br /&gt;
|-&lt;br /&gt;
| kanjidic_en.fpwebz.tar&lt;br /&gt;
| [http://ftp.edrdg.org/pub/Nihongo/edict_en.fpwebz.tar EDRDG.org]&lt;br /&gt;
| [http://ftp.usf.edu/pub/ftp.monash.edu.au/pub/nihongo/kanjidic_en.fpwebz.tar USF.edu]&lt;br /&gt;
| Use [[7-Zip]] to open on Windows machines for instance, otherwise [[Tar]] should suffice.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software (mostly Japanese only) ==&lt;br /&gt;
See also: [[Wikipedia:ja:EPWING#検索ソフトウェア]]&lt;br /&gt;
* Windows&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/WinEBZip-0.0.exe WinEBZip.exe on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/WinEBZip-0.0.zip WinEBZip.zip on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [https://ebstudio.info/manual/EBWin4/EBWin4.html EBWin4]&lt;br /&gt;
* Linux&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/ EB Library directory on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [http://green.ribbon.to/~ikazuhiro/dic/ebu.html EBU - EB Library with JIS X 4081 UTF-8 extension]&lt;br /&gt;
** [https://github.com/mvf/qolibri qolibri EPWING dictionary viewer]&lt;br /&gt;
&lt;br /&gt;
== Links (mostly Japanese only) ==&lt;br /&gt;
* [[Wikipedia:ja:電子ブック (規格)]]&lt;br /&gt;
* [https://web.archive.org/web/20010606001016/http://www.sra.co.jp/people/m-kasahr/eb/index-ja.html Internet Archive's mirror of EB Library that was hosted on SRA's website]&lt;br /&gt;
* [http://green.ribbon.to/~ikazuhiro/dic/ebu.html EBU]&lt;br /&gt;
&lt;br /&gt;
== References (mostly Japanese only) ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Talk:EBZip</id>
		<title>Talk:EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Talk:EBZip"/>
				<updated>2025-09-05T15:55:58Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* The viability ebuzip as a possible drop-in replacement candidate */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; caveats ==&lt;br /&gt;
Intended to be a place to note down issues, as well as tips and tricks with either &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;ebu-4.5-20220808&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Hardcoded to look specifically for a file that begins with &amp;lt;code&amp;gt;&amp;quot;CATALOGS&amp;quot;&amp;lt;/code&amp;gt; (case-insensitive), or &amp;lt;code&amp;gt;&amp;quot;CATALOGS.ebz&amp;quot;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Custom dictionaries doesn't always follow standard convention to store their content(s), like having &amp;quot;&amp;lt;code&amp;gt;START.ebz&amp;lt;/code&amp;gt;&amp;quot; in the top level. Even if they do, they may also compress &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; as &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;.&amp;quot; &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt; specifically looks for either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and either decompress or compress the files specified within, per user's request, e.g. &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will tell it to decompress and rename any of the listed files that are noted in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and has &amp;quot;&amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt;&amp;quot; extension, ignoring any other files in the same path, and doesn't decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; even if instructed. There are ways to workaround that:&lt;br /&gt;
&lt;br /&gt;
==== Decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; ====&lt;br /&gt;
In my case,&lt;br /&gt;
* Simply rename the decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; to something like &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Copy the &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; there, but have it named as &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Run decompression via the usual &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; from the top level where it doesn't contain &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot; but only &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Once decompressed, move decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; (not &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;) back to where &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; was, have it renamed as &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Rename &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot; back to &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
Optionally, delete &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; considering that is now redundant.&lt;br /&gt;
&lt;br /&gt;
==== Decompress other &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; that were not listed ====&lt;br /&gt;
Same as above, but instead of copying, you can just move it, as,&lt;br /&gt;
* &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will only look for &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and&lt;br /&gt;
* It saves having to manually delete the redundant file(s) afterwards.&lt;br /&gt;
&lt;br /&gt;
==== Maliciously/Erroneously renamed files ====&lt;br /&gt;
&amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; specifically looks for the extension &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; to determine the level of compression. If,&lt;br /&gt;
* &amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt; which was compressed, but renamed as &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;, running &amp;lt;code&amp;gt;ebuzip -i&amp;lt;/code&amp;gt; would show the following error message, &amp;quot;ebuzip: failed to read a catalog file&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt; which was compressed, but again renamed as &amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;, running &amp;lt;code&amp;gt;ebuzip -i&amp;lt;/code&amp;gt; would indicate that file as not compressed.&lt;br /&gt;
This bug is likely to also affect original &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Zero-length (un)compressed files not overwritten upon manual intervention ===&lt;br /&gt;
When a path that has zero-length files, but are listed in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; for instance may not overwrite it. This may also apply if &amp;lt;code&amp;gt;ebzip -uf&amp;lt;/code&amp;gt; is used. To fix this, just delete the zero-length files, ensuring that they have a duplicate file that does not have &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, then re-run the command. When compressing, the opposite is true, to look for duplicate zero-length files with &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, delete them and run the utility to compress instead.&lt;br /&gt;
&lt;br /&gt;
On modern [[Linux]] environments, these could be achieved via the following:&lt;br /&gt;
&lt;br /&gt;
==== Enumerating ====&lt;br /&gt;
  find . -size 0 -type f&lt;br /&gt;
&lt;br /&gt;
==== Deleting ====&lt;br /&gt;
  find . -size 0 -type f -exec sudo rm -iv &amp;quot;{}&amp;quot; \;&lt;br /&gt;
Care must be taken to avoid any potential losses when running this command.&lt;br /&gt;
&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 15:02, 5 September 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
== LZMA benchmarks against other compression/utilities ==&lt;br /&gt;
In response to maintainer of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt;'s blog entry,&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/article.php/20190701203038572 EPWINGを圧縮する (libdeflateで) / Compressing EPWING via libdeflate - Kazuhiro's blog]&amp;lt;/ref&amp;gt; I decided to run a couple of benchmarks with different dictionaries, books or other referencing materials on my end. The following packages and their versions are as follows; kernel-6.15.8, zlib-1.3.1, libdeflate-1.24, xz-5.4.2, dwarfs-0.12.4, squashfs-tools-4.7.1.&lt;br /&gt;
&lt;br /&gt;
=== zlib versus libdeflate versus LZMA benchmark (single electronic book) ===&lt;br /&gt;
For the following, file sizes are reported from &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;, therefore size would be reported in blocks&amp;lt;ref&amp;gt;[https://unix.stackexchange.com/questions/28780/file-block-size-difference-between-stat-and-ls file block size - difference between stat and ls - Unix &amp;amp; Linux - Stack Exchange]&amp;lt;/ref&amp;gt;. The tested dictionaries using no compression, zlib, libdeflate, or [[XZ]] are [[tar|tarballed]] for consistency. For compressed file systems, XZ's LZMA2 is used. Both zlib and libdeflate has a maximum compression level of 5, anything beyond 5 would result in error, however XZ goes up to level 9, and has further options like &amp;lt;code&amp;gt;--extreme&amp;lt;/code&amp;gt; as well as various other tweaks which I will keep it simple and use &amp;lt;code&amp;gt;xz -9evv&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
[[DWARFS]] example parameters:&lt;br /&gt;
  mkdwarfs --input . --output=../JMdict_eng_2021-02-26_UTC.dwarfs --block-size-bits=26 --compression=lzma:level=9:extreme --schema-compression=lzma:level=9:extreme --metadata-compression=lzma:level=9:extreme --no-history \&lt;br /&gt;
  --pack-metadata=all,force --file-hash=sha3-512 --no-history-timestamp --no-create-timestamp --no-history-command-line&lt;br /&gt;
&lt;br /&gt;
[[SquashFS]] example parameters:&lt;br /&gt;
  mksquashfs . ../JMdict_eng_2021-02-26_UTC.squashfs -b 1048576 -comp xz -Xdict-size 100% -progress -info -no-xattrs&lt;br /&gt;
&lt;br /&gt;
Percentages are rounded to two decimal points, otherwise rounded up. Compression ratio against uncompressed in percentage is offered instead.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| [[EBZip#Sample_file|kanjidic]]&lt;br /&gt;
| NHKAccent&lt;br /&gt;
| Eijiro&lt;br /&gt;
| Kenkyusha eiwa daijiten v6&lt;br /&gt;
| Kenkyusha waei daijiten v5&lt;br /&gt;
|-&lt;br /&gt;
| ''No compression''&lt;br /&gt;
| 130,385,920&lt;br /&gt;
| 1,578,055,680&lt;br /&gt;
| 1,374,771,200&lt;br /&gt;
| 484,945,920&lt;br /&gt;
| 328,192,000&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebuzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(zlib)&lt;br /&gt;
| 42,035,200&lt;br /&gt;
| 1,393,920,000&lt;br /&gt;
| 379,975,680&lt;br /&gt;
| 117,596,160&lt;br /&gt;
| 109,721,600&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 32.24%&lt;br /&gt;
| 88.33%&lt;br /&gt;
| 27.63%&lt;br /&gt;
| 24.25%&lt;br /&gt;
| 33.43%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebuzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(libdeflate)&lt;br /&gt;
| 40,171,520&lt;br /&gt;
| 1,383,505,920&lt;br /&gt;
| 353,269,760&lt;br /&gt;
| 107,765,760&lt;br /&gt;
| 102,113,280&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 30.81%&lt;br /&gt;
| 87.67%&lt;br /&gt;
| 25.70%&lt;br /&gt;
| 22.22%&lt;br /&gt;
| 31.11%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,608&lt;br /&gt;
| 1,350,900,536&lt;br /&gt;
| 197,134,768&lt;br /&gt;
| 55,220,788&lt;br /&gt;
| 50,109,852&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.61%&lt;br /&gt;
| 14.34%&lt;br /&gt;
| 11.39%&lt;br /&gt;
| 15.27%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T0&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,616&lt;br /&gt;
| 1,351,560,168&lt;br /&gt;
| 202,934,760&lt;br /&gt;
| 56,670,664&lt;br /&gt;
| 50,747,640&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.65%&lt;br /&gt;
| 14.76%&lt;br /&gt;
| 11.69%&lt;br /&gt;
| 15.46%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[DWARFS|dwarfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 22,145,746&lt;br /&gt;
| 1,353,699,364&lt;br /&gt;
| 212,307,176&lt;br /&gt;
| 60,043,728&lt;br /&gt;
| 54,541,980&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.99%&lt;br /&gt;
| 85.78%&lt;br /&gt;
| 15.44%&lt;br /&gt;
| 12.38%&lt;br /&gt;
| 16.62%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[SquashFS|squashfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 31,793,152&lt;br /&gt;
| 1,367,302,144&lt;br /&gt;
| 272,068,608&lt;br /&gt;
| 81,805,312&lt;br /&gt;
| 160,956,416&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 24.38%&lt;br /&gt;
| 86.64%&lt;br /&gt;
| 19.79%&lt;br /&gt;
| 16.87%&lt;br /&gt;
| 49.04%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
XZ compression results are provided for the sake of discussion only, more on this in conclusion. While it does show extremely good results against all other utilities, the seek times are abysmally poor, worse than DWARFS with LZMA2 on machines with weaker hardware. Tests confirms liblzma having better compression regardless, against both zlib and libdeflate.&lt;br /&gt;
&lt;br /&gt;
NHKAccent is the exception here, with poor compression results. This is due to electronic book containing multimedia files, which won't compress well if it was already compressed.&lt;br /&gt;
&lt;br /&gt;
It is worthy to note here that compression/archiving utilities embracing liblzma, could by default take advantage of multi-threading, at the expense of producing potentially larger file. This however, is a small trade off, for effectively making full use of available CPU in the given environment.&lt;br /&gt;
&lt;br /&gt;
=== Modern compressed file system with multiple electronic books shootout ===&lt;br /&gt;
Author of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt; mentioned the case with smartphones, which I do personally find that these are also limited in performance, not just with storage capacities. [[SquashFS]] was or is used in Android devices,&amp;lt;ref&amp;gt;[https://android.stackexchange.com/questions/258236/squashfs-explanation-for-android-system SquashFS explanation for Android system - Android Enthusiasts - Stack Exchange]&amp;lt;/ref&amp;gt; so it makes sense to try using that on non system files in addition.&lt;br /&gt;
&lt;br /&gt;
For these tests, the sample data consists of ~189 dictionaries in a single directory. Both [[DWARFS]] and [[SquashFS]] are configured to use XZ's LZMA2 where possible, as it is known to be one of the best, freely available (especially under Unix-like platforms) compression. Both DWARFS and SquashFS parameters are the same as in prior section. Due to the inherent way of how &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; works, requiring &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; to be in the top directory, both variations of &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; using either zlib or libdeflate are omitted from this test. Besides, single compression job per dictionary, not including other files in the that path, e.g. &amp;quot;&amp;lt;code&amp;gt;START&amp;lt;/code&amp;gt;&amp;quot; would make the overall process time consuming, if the process isn't already tedious that it requires extensive scripting.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Method&lt;br /&gt;
| Size (blocks)&lt;br /&gt;
|-&lt;br /&gt;
| Uncompressed&amp;lt;br /&amp;gt;[[tar]]&lt;br /&gt;
| 29,014,026,240&lt;br /&gt;
|-&lt;br /&gt;
| [[DWARFS]]&lt;br /&gt;
| 10,613,886,184&lt;br /&gt;
|-&lt;br /&gt;
| [[SquashFS]]&lt;br /&gt;
| 12,269,518,848&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where DWARFS shines, is the ability to also save on segmenting data, in addition to file de-duplication. For a small penalty I've given to DWARFS, in that it is to use sha3-512 as hash, it still compresses the collection better and faster, than SquashFS. Then again, the focus here is on overall file size, not performance in file creation.&lt;br /&gt;
&lt;br /&gt;
=== Conclusion ===&lt;br /&gt;
Now of course, there are plenty of other compression utilities available, such as, but are not limited to [[Zstandard]], [[BZip3]], [[LZO]], etc. From the various results I have read, indicates that these other compression benchmarks, while trading better performance, these fall behind in final size constraints. The benchmark showcase here outlines the need to have as small of a compressed file as possible, with modern compression utilities and modern PC hardware, therefore making (speed-wise) performance testing out of the scope, as is the idea of creating the likes of [[ZIP]] bombs, or nested compressed files out of the scope.&lt;br /&gt;
&lt;br /&gt;
I have also tried to run &amp;lt;code&amp;gt;mkfs.[[EROFS|erofs]]&amp;lt;/code&amp;gt; in order to include it against the modern compressed file system with multiple dictionaries shootout. With version 1.8.10, no matter what parameters I set with LZMA &amp;lt;code&amp;gt;level=9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;level=109&amp;lt;/code&amp;gt; (109 is the extreme variant), even with lowering &amp;lt;code&amp;gt;dictsize=&amp;lt;/code&amp;gt;, the results would cause system to run out of memory (16GB of RAM) before even completing the file system creation.&lt;br /&gt;
&lt;br /&gt;
These benchmarks are in no way discrediting or disavowing the use of libdeflate over zlib. If file size is a concern, more modern compression algorithms and/or compression techniques could be considered. Modern EPWING viewer programs generally don't care if the electronic book is compressed using zlib or not compressed at all, and there are many ways of handling decompression transparently in modern Unix-like environments. Even more so, are the ever growing hardware performance as well as affordability with storage capacities in modern computing, questions the use of the what is widely considered as legacy compression algorithms for data archival. Last but not least, while single-threaded compression (as witnessed in the likes of &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt; above) or tasks might be extremely beneficial in reducing overheads, especially with LZMA2, it is also a slow process which may subsequently not translate well in modern, demanding contexts, where time honored traditions are casted away for practical, convenient, modernized, and easy to use solutions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 18:46, 2 September 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
== The viability &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; as a possible drop-in replacement candidate ==&lt;br /&gt;
&lt;br /&gt;
As covered in the main page, that [[EBZip#EBUZip|EBUZip]] uses the more modern libdeflate, I decided to also test this theory with once again using the same [[EBZip#Sample_file|JMDict]] as the subject for these experimentation. On my modern Linux machine, running &amp;lt;code&amp;gt;ebuzip -i&amp;lt;/code&amp;gt; on the path that contains JMdict as the name of subdirectory,&lt;br /&gt;
=== Using the sample JMDict tarball as is ===&lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/a/JMdict_eng_2021-02-26_UTC/JMdict/DATA/HONMON.ebz &amp;lt;==&lt;br /&gt;
  130332672 -&amp;gt; 42407287 bytes (32.5%, ebzip level 5 compression)&lt;br /&gt;
  &lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/a/JMdict_eng_2021-02-26_UTC/JMdict/GAIJI/GAI16H.ebz &amp;lt;==&lt;br /&gt;
  4096 -&amp;gt; 529 bytes (12.9%, ebzip level 5 compression)&lt;br /&gt;
  &lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/a/JMdict_eng_2021-02-26_UTC/CATALOGS &amp;lt;==&lt;br /&gt;
  2048 bytes (not compressed)&lt;br /&gt;
  &lt;br /&gt;
This is likely compressed using &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; with zlib. Running &amp;lt;code&amp;gt;ebuzip -u&amp;lt;/code&amp;gt; indicates the following,&lt;br /&gt;
  ==&amp;gt; uncompress /home/nobody/EPWING-research/JMDict-temp/a/JMdict_eng_2021-02-26_UTC/JMdict/DATA/HONMON.ebz &amp;lt;==&lt;br /&gt;
  output to ./JMdict/DATA/HONMON&lt;br /&gt;
  51.5% done (67108864 / 130332672 bytes)&lt;br /&gt;
  completed (130332672 / 130332672 bytes)&lt;br /&gt;
  ==&amp;gt; uncompress /home/nobody/EPWING-research/JMDict-temp/a/JMdict_eng_2021-02-26_UTC/JMdict/GAIJI/GAI16H.ebz &amp;lt;==&lt;br /&gt;
  output to ./JMdict/GAIJI/GAI16H&lt;br /&gt;
  completed (4096 / 4096 bytes)&lt;br /&gt;
  ==&amp;gt; copy /home/nobody/EPWING-research/JMDict-temp/a/JMdict_eng_2021-02-26_UTC/CATALOGS &amp;lt;==&lt;br /&gt;
  output to ./CATALOGS&lt;br /&gt;
  the input and output files are the same, skipped.&lt;br /&gt;
  &lt;br /&gt;
Then I ran &amp;lt;code&amp;gt;ebuzip -q -z -l 5&amp;lt;/code&amp;gt; which compresses it using the same level (5) compression, via libdeflate and silenced output. After a few minutes, I was greeted with my prompt, so I ran &amp;lt;code&amp;gt;ebuzip -i&amp;lt;/code&amp;gt;,&lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/a/JMdict_eng_2021-02-26_UTC/JMdict/DATA/HONMON.ebz &amp;lt;==&lt;br /&gt;
  130332672 -&amp;gt; 40120400 bytes (30.8%, ebzip level 5 compression)&lt;br /&gt;
  &lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/a/JMdict_eng_2021-02-26_UTC/JMdict/GAIJI/GAI16H.ebz &amp;lt;==&lt;br /&gt;
  4096 -&amp;gt; 513 bytes (12.5%, ebzip level 5 compression)&lt;br /&gt;
  &lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/a/JMdict_eng_2021-02-26_UTC/CATALOGS &amp;lt;==&lt;br /&gt;
  2048 bytes (not compressed)&lt;br /&gt;
  &lt;br /&gt;
=== EBUZip with zlib decompressing the same sample compressed JMDict, then recompressing it using zlib at first, then recompressing it finally using libdeflate ===&lt;br /&gt;
I then decided to experiment JMDict but with &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; compiled to use zlib, in a separate path, which I used that to first decompress the original zlib level 5 JMDict, then recompress it again using zlib level 5, before it is finally recompressed (after decompressing) using libdeflate. Running &amp;lt;code&amp;gt;ebuzip -i&amp;lt;/code&amp;gt; shows,&lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/b/JMdict_eng_2021-02-26_UTC/JMdict/DATA/HONMON.ebz &amp;lt;==&lt;br /&gt;
  130332672 -&amp;gt; 41985166 bytes (32.2%, ebzip level 5 compression)&lt;br /&gt;
  &lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/b/JMdict_eng_2021-02-26_UTC/JMdict/GAIJI/GAI16H.ebz &amp;lt;==&lt;br /&gt;
  4096 -&amp;gt; 529 bytes (12.9%, ebzip level 5 compression)&lt;br /&gt;
  &lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/b/JMdict_eng_2021-02-26_UTC/CATALOGS &amp;lt;==&lt;br /&gt;
  2048 bytes (not compressed)&lt;br /&gt;
  &lt;br /&gt;
As you can see, &amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt; has different overall size/compression ratio compared to the sample compressed JMDict. zlib project is still being maintained, so it's not terribly surprising to see ever so slight increase in compression ratio of 0.3%.&lt;br /&gt;
&lt;br /&gt;
Again, decompressing it using the same &amp;lt;code&amp;gt;ebuzip -u&amp;lt;/code&amp;gt;,&lt;br /&gt;
  ==&amp;gt; uncompress /home/nobody/EPWING-research/JMDict-temp/b/JMdict_eng_2021-02-26_UTC/JMdict/DATA/HONMON.ebz &amp;lt;==&lt;br /&gt;
  output to ./JMdict/DATA/HONMON&lt;br /&gt;
  51.5% done (67108864 / 130332672 bytes)&lt;br /&gt;
  completed (130332672 / 130332672 bytes)&lt;br /&gt;
  ==&amp;gt; uncompress /home/nobody/EPWING-research/JMDict-temp/b/JMdict_eng_2021-02-26_UTC/JMdict/GAIJI/GAI16H.ebz &amp;lt;==&lt;br /&gt;
  output to ./JMdict/GAIJI/GAI16H&lt;br /&gt;
  completed (4096 / 4096 bytes)&lt;br /&gt;
  ==&amp;gt; copy /home/nobody/EPWING-research/JMDict-temp/b/JMdict_eng_2021-02-26_UTC/CATALOGS &amp;lt;==&lt;br /&gt;
  output to ./CATALOGS&lt;br /&gt;
  the input and output files are the same, skipped.&lt;br /&gt;
  &lt;br /&gt;
Finally, with both &amp;lt;code&amp;gt;ebuzip -q -z -l 5&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ebuzip -i&amp;lt;/code&amp;gt;,&lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/b/JMdict_eng_2021-02-26_UTC/JMdict/DATA/HONMON.ebz &amp;lt;==&lt;br /&gt;
  130332672 -&amp;gt; 40120400 bytes (30.8%, ebzip level 5 compression)&lt;br /&gt;
  &lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/b/JMdict_eng_2021-02-26_UTC/JMdict/GAIJI/GAI16H.ebz &amp;lt;==&lt;br /&gt;
  4096 -&amp;gt; 513 bytes (12.5%, ebzip level 5 compression)&lt;br /&gt;
  &lt;br /&gt;
  ==&amp;gt; /home/nobody/EPWING-research/JMDict-temp/b/JMdict_eng_2021-02-26_UTC/CATALOGS &amp;lt;==&lt;br /&gt;
  2048 bytes (not compressed)&lt;br /&gt;
  &lt;br /&gt;
=== Observation notes ===&lt;br /&gt;
&amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; does not indicate whether or not,&lt;br /&gt;
* If compression was done by &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt;, and,&lt;br /&gt;
* The library used, if it was zlib compressed or that it was subsequently using libdeflate.&lt;br /&gt;
Therefore, no matter which one of the two different &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; was used overall, the results are the same, with compressed sizes being different.&lt;br /&gt;
&lt;br /&gt;
As my aim with either &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; is to simply decompress the files, before recompressing them all using LZMA via the likes of [[DWARFS]] or [[SquashFS]], I have not tested whether or not if JMDict with EBUZip via libdeflate compression could successfully load using a general e-book viewer. But considering that the decompressing and recompressing indicates that the file could still be read, even if I used &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; here instead of the original &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt;, I am going to assume it will successfully load.&lt;br /&gt;
&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 15:55, 5 September 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Talk:EBZip</id>
		<title>Talk:EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Talk:EBZip"/>
				<updated>2025-09-05T15:02:49Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* ebzip caveats */ Updated section with topics about maliciously/errneously named files which can cause issues. Changed topic to also include EBUZip. Updated signed date.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; caveats ==&lt;br /&gt;
Intended to be a place to note down issues, as well as tips and tricks with either &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;ebu-4.5-20220808&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Hardcoded to look specifically for a file that begins with &amp;lt;code&amp;gt;&amp;quot;CATALOGS&amp;quot;&amp;lt;/code&amp;gt; (case-insensitive), or &amp;lt;code&amp;gt;&amp;quot;CATALOGS.ebz&amp;quot;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Custom dictionaries doesn't always follow standard convention to store their content(s), like having &amp;quot;&amp;lt;code&amp;gt;START.ebz&amp;lt;/code&amp;gt;&amp;quot; in the top level. Even if they do, they may also compress &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; as &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;.&amp;quot; &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt; specifically looks for either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and either decompress or compress the files specified within, per user's request, e.g. &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will tell it to decompress and rename any of the listed files that are noted in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and has &amp;quot;&amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt;&amp;quot; extension, ignoring any other files in the same path, and doesn't decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; even if instructed. There are ways to workaround that:&lt;br /&gt;
&lt;br /&gt;
==== Decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; ====&lt;br /&gt;
In my case,&lt;br /&gt;
* Simply rename the decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; to something like &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Copy the &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; there, but have it named as &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Run decompression via the usual &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; from the top level where it doesn't contain &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot; but only &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Once decompressed, move decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; (not &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;) back to where &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; was, have it renamed as &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Rename &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot; back to &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
Optionally, delete &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; considering that is now redundant.&lt;br /&gt;
&lt;br /&gt;
==== Decompress other &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; that were not listed ====&lt;br /&gt;
Same as above, but instead of copying, you can just move it, as,&lt;br /&gt;
* &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will only look for &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and&lt;br /&gt;
* It saves having to manually delete the redundant file(s) afterwards.&lt;br /&gt;
&lt;br /&gt;
==== Maliciously/Erroneously renamed files ====&lt;br /&gt;
&amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; specifically looks for the extension &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; to determine the level of compression. If,&lt;br /&gt;
* &amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt; which was compressed, but renamed as &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;, running &amp;lt;code&amp;gt;ebuzip -i&amp;lt;/code&amp;gt; would show the following error message, &amp;quot;ebuzip: failed to read a catalog file&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt; which was compressed, but again renamed as &amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;, running &amp;lt;code&amp;gt;ebuzip -i&amp;lt;/code&amp;gt; would indicate that file as not compressed.&lt;br /&gt;
This bug is likely to also affect original &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Zero-length (un)compressed files not overwritten upon manual intervention ===&lt;br /&gt;
When a path that has zero-length files, but are listed in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; for instance may not overwrite it. This may also apply if &amp;lt;code&amp;gt;ebzip -uf&amp;lt;/code&amp;gt; is used. To fix this, just delete the zero-length files, ensuring that they have a duplicate file that does not have &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, then re-run the command. When compressing, the opposite is true, to look for duplicate zero-length files with &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, delete them and run the utility to compress instead.&lt;br /&gt;
&lt;br /&gt;
On modern [[Linux]] environments, these could be achieved via the following:&lt;br /&gt;
&lt;br /&gt;
==== Enumerating ====&lt;br /&gt;
  find . -size 0 -type f&lt;br /&gt;
&lt;br /&gt;
==== Deleting ====&lt;br /&gt;
  find . -size 0 -type f -exec sudo rm -iv &amp;quot;{}&amp;quot; \;&lt;br /&gt;
Care must be taken to avoid any potential losses when running this command.&lt;br /&gt;
&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 15:02, 5 September 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
== LZMA benchmarks against other compression/utilities ==&lt;br /&gt;
In response to maintainer of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt;'s blog entry,&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/article.php/20190701203038572 EPWINGを圧縮する (libdeflateで) / Compressing EPWING via libdeflate - Kazuhiro's blog]&amp;lt;/ref&amp;gt; I decided to run a couple of benchmarks with different dictionaries, books or other referencing materials on my end. The following packages and their versions are as follows; kernel-6.15.8, zlib-1.3.1, libdeflate-1.24, xz-5.4.2, dwarfs-0.12.4, squashfs-tools-4.7.1.&lt;br /&gt;
&lt;br /&gt;
=== zlib versus libdeflate versus LZMA benchmark (single electronic book) ===&lt;br /&gt;
For the following, file sizes are reported from &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;, therefore size would be reported in blocks&amp;lt;ref&amp;gt;[https://unix.stackexchange.com/questions/28780/file-block-size-difference-between-stat-and-ls file block size - difference between stat and ls - Unix &amp;amp; Linux - Stack Exchange]&amp;lt;/ref&amp;gt;. The tested dictionaries using no compression, zlib, libdeflate, or [[XZ]] are [[tar|tarballed]] for consistency. For compressed file systems, XZ's LZMA2 is used. Both zlib and libdeflate has a maximum compression level of 5, anything beyond 5 would result in error, however XZ goes up to level 9, and has further options like &amp;lt;code&amp;gt;--extreme&amp;lt;/code&amp;gt; as well as various other tweaks which I will keep it simple and use &amp;lt;code&amp;gt;xz -9evv&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
[[DWARFS]] example parameters:&lt;br /&gt;
  mkdwarfs --input . --output=../JMdict_eng_2021-02-26_UTC.dwarfs --block-size-bits=26 --compression=lzma:level=9:extreme --schema-compression=lzma:level=9:extreme --metadata-compression=lzma:level=9:extreme --no-history \&lt;br /&gt;
  --pack-metadata=all,force --file-hash=sha3-512 --no-history-timestamp --no-create-timestamp --no-history-command-line&lt;br /&gt;
&lt;br /&gt;
[[SquashFS]] example parameters:&lt;br /&gt;
  mksquashfs . ../JMdict_eng_2021-02-26_UTC.squashfs -b 1048576 -comp xz -Xdict-size 100% -progress -info -no-xattrs&lt;br /&gt;
&lt;br /&gt;
Percentages are rounded to two decimal points, otherwise rounded up. Compression ratio against uncompressed in percentage is offered instead.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| [[EBZip#Sample_file|kanjidic]]&lt;br /&gt;
| NHKAccent&lt;br /&gt;
| Eijiro&lt;br /&gt;
| Kenkyusha eiwa daijiten v6&lt;br /&gt;
| Kenkyusha waei daijiten v5&lt;br /&gt;
|-&lt;br /&gt;
| ''No compression''&lt;br /&gt;
| 130,385,920&lt;br /&gt;
| 1,578,055,680&lt;br /&gt;
| 1,374,771,200&lt;br /&gt;
| 484,945,920&lt;br /&gt;
| 328,192,000&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebuzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(zlib)&lt;br /&gt;
| 42,035,200&lt;br /&gt;
| 1,393,920,000&lt;br /&gt;
| 379,975,680&lt;br /&gt;
| 117,596,160&lt;br /&gt;
| 109,721,600&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 32.24%&lt;br /&gt;
| 88.33%&lt;br /&gt;
| 27.63%&lt;br /&gt;
| 24.25%&lt;br /&gt;
| 33.43%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebuzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(libdeflate)&lt;br /&gt;
| 40,171,520&lt;br /&gt;
| 1,383,505,920&lt;br /&gt;
| 353,269,760&lt;br /&gt;
| 107,765,760&lt;br /&gt;
| 102,113,280&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 30.81%&lt;br /&gt;
| 87.67%&lt;br /&gt;
| 25.70%&lt;br /&gt;
| 22.22%&lt;br /&gt;
| 31.11%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,608&lt;br /&gt;
| 1,350,900,536&lt;br /&gt;
| 197,134,768&lt;br /&gt;
| 55,220,788&lt;br /&gt;
| 50,109,852&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.61%&lt;br /&gt;
| 14.34%&lt;br /&gt;
| 11.39%&lt;br /&gt;
| 15.27%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T0&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,616&lt;br /&gt;
| 1,351,560,168&lt;br /&gt;
| 202,934,760&lt;br /&gt;
| 56,670,664&lt;br /&gt;
| 50,747,640&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.65%&lt;br /&gt;
| 14.76%&lt;br /&gt;
| 11.69%&lt;br /&gt;
| 15.46%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[DWARFS|dwarfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 22,145,746&lt;br /&gt;
| 1,353,699,364&lt;br /&gt;
| 212,307,176&lt;br /&gt;
| 60,043,728&lt;br /&gt;
| 54,541,980&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.99%&lt;br /&gt;
| 85.78%&lt;br /&gt;
| 15.44%&lt;br /&gt;
| 12.38%&lt;br /&gt;
| 16.62%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[SquashFS|squashfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 31,793,152&lt;br /&gt;
| 1,367,302,144&lt;br /&gt;
| 272,068,608&lt;br /&gt;
| 81,805,312&lt;br /&gt;
| 160,956,416&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 24.38%&lt;br /&gt;
| 86.64%&lt;br /&gt;
| 19.79%&lt;br /&gt;
| 16.87%&lt;br /&gt;
| 49.04%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
XZ compression results are provided for the sake of discussion only, more on this in conclusion. While it does show extremely good results against all other utilities, the seek times are abysmally poor, worse than DWARFS with LZMA2 on machines with weaker hardware. Tests confirms liblzma having better compression regardless, against both zlib and libdeflate.&lt;br /&gt;
&lt;br /&gt;
NHKAccent is the exception here, with poor compression results. This is due to electronic book containing multimedia files, which won't compress well if it was already compressed.&lt;br /&gt;
&lt;br /&gt;
It is worthy to note here that compression/archiving utilities embracing liblzma, could by default take advantage of multi-threading, at the expense of producing potentially larger file. This however, is a small trade off, for effectively making full use of available CPU in the given environment.&lt;br /&gt;
&lt;br /&gt;
=== Modern compressed file system with multiple electronic books shootout ===&lt;br /&gt;
Author of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt; mentioned the case with smartphones, which I do personally find that these are also limited in performance, not just with storage capacities. [[SquashFS]] was or is used in Android devices,&amp;lt;ref&amp;gt;[https://android.stackexchange.com/questions/258236/squashfs-explanation-for-android-system SquashFS explanation for Android system - Android Enthusiasts - Stack Exchange]&amp;lt;/ref&amp;gt; so it makes sense to try using that on non system files in addition.&lt;br /&gt;
&lt;br /&gt;
For these tests, the sample data consists of ~189 dictionaries in a single directory. Both [[DWARFS]] and [[SquashFS]] are configured to use XZ's LZMA2 where possible, as it is known to be one of the best, freely available (especially under Unix-like platforms) compression. Both DWARFS and SquashFS parameters are the same as in prior section. Due to the inherent way of how &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; works, requiring &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; to be in the top directory, both variations of &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; using either zlib or libdeflate are omitted from this test. Besides, single compression job per dictionary, not including other files in the that path, e.g. &amp;quot;&amp;lt;code&amp;gt;START&amp;lt;/code&amp;gt;&amp;quot; would make the overall process time consuming, if the process isn't already tedious that it requires extensive scripting.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Method&lt;br /&gt;
| Size (blocks)&lt;br /&gt;
|-&lt;br /&gt;
| Uncompressed&amp;lt;br /&amp;gt;[[tar]]&lt;br /&gt;
| 29,014,026,240&lt;br /&gt;
|-&lt;br /&gt;
| [[DWARFS]]&lt;br /&gt;
| 10,613,886,184&lt;br /&gt;
|-&lt;br /&gt;
| [[SquashFS]]&lt;br /&gt;
| 12,269,518,848&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where DWARFS shines, is the ability to also save on segmenting data, in addition to file de-duplication. For a small penalty I've given to DWARFS, in that it is to use sha3-512 as hash, it still compresses the collection better and faster, than SquashFS. Then again, the focus here is on overall file size, not performance in file creation.&lt;br /&gt;
&lt;br /&gt;
=== Conclusion ===&lt;br /&gt;
Now of course, there are plenty of other compression utilities available, such as, but are not limited to [[Zstandard]], [[BZip3]], [[LZO]], etc. From the various results I have read, indicates that these other compression benchmarks, while trading better performance, these fall behind in final size constraints. The benchmark showcase here outlines the need to have as small of a compressed file as possible, with modern compression utilities and modern PC hardware, therefore making (speed-wise) performance testing out of the scope, as is the idea of creating the likes of [[ZIP]] bombs, or nested compressed files out of the scope.&lt;br /&gt;
&lt;br /&gt;
I have also tried to run &amp;lt;code&amp;gt;mkfs.[[EROFS|erofs]]&amp;lt;/code&amp;gt; in order to include it against the modern compressed file system with multiple dictionaries shootout. With version 1.8.10, no matter what parameters I set with LZMA &amp;lt;code&amp;gt;level=9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;level=109&amp;lt;/code&amp;gt; (109 is the extreme variant), even with lowering &amp;lt;code&amp;gt;dictsize=&amp;lt;/code&amp;gt;, the results would cause system to run out of memory (16GB of RAM) before even completing the file system creation.&lt;br /&gt;
&lt;br /&gt;
These benchmarks are in no way discrediting or disavowing the use of libdeflate over zlib. If file size is a concern, more modern compression algorithms and/or compression techniques could be considered. Modern EPWING viewer programs generally don't care if the electronic book is compressed using zlib or not compressed at all, and there are many ways of handling decompression transparently in modern Unix-like environments. Even more so, are the ever growing hardware performance as well as affordability with storage capacities in modern computing, questions the use of the what is widely considered as legacy compression algorithms for data archival. Last but not least, while single-threaded compression (as witnessed in the likes of &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt; above) or tasks might be extremely beneficial in reducing overheads, especially with LZMA2, it is also a slow process which may subsequently not translate well in modern, demanding contexts, where time honored traditions are casted away for practical, convenient, modernized, and easy to use solutions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 18:46, 2 September 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EPWING</id>
		<title>EPWING</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EPWING"/>
				<updated>2025-09-05T14:35:05Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* Identification */ Correction on GAI* files and provided more clarification in general.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Electronic Publishing formats&lt;br /&gt;
|extensions={{noext}}&lt;br /&gt;
|wikidata={{wikidata|Q11197749}}&lt;br /&gt;
|compression=none&lt;br /&gt;
|released=1987&amp;lt;ref&amp;gt;[https://web.archive.org/web/19980214200328/http://www.epwing.or.jp/epwing/admission/index.html#history EP_入会について - 略歴 - EP_About admission - brief history - Internet Archive]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{notice|1=Majority of the links/citations are in Japanese.}}&lt;br /&gt;
&lt;br /&gt;
'''E'''lectronic '''P'''ublishing-WING or EPWING, is a standardized format for electronic reference materials, typically dictionaries that were distributed on CD-ROM for PCs. [[wikipedia:electronic dictionaries|Electronic dictionaries]] in general were also popular in East Asia.&amp;lt;ref&amp;gt;[https://www.igaku-shoin.co.jp/digital/detail/89680 看護医学電子辞書10 | 電子商品詳細 | 電子商品（個人向け） | 医学書院]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The format itself is largely uncompressed, taking advantage of larger storage capacities CD-ROMs offered over hard disks, and what was the largely unjustifiable cost of storing duplicate data, as well as older PC hardware that have other resource limitations such as slower CPU or less RAM/memory capacities.&lt;br /&gt;
&lt;br /&gt;
== Content structure ==&lt;br /&gt;
EPWING files generally do not have any extensions, with the exception of when they are compressed using the likes of [[EBZip]]. Below is a rough outline describing what it would look like:&lt;br /&gt;
  ├── (top directory)&lt;br /&gt;
  │   ├── Catalogs&lt;br /&gt;
  │   └── (e-book name)&lt;br /&gt;
  │       ├── DATA&lt;br /&gt;
  │       │   └── HONMON&lt;br /&gt;
  │       ├── GAIJI&lt;br /&gt;
  │       │   ├── GAI16F&lt;br /&gt;
  │       │   ├── GAI16H&lt;br /&gt;
  │       │   ├── GAI24F&lt;br /&gt;
  │       │   └── GAI24H&lt;br /&gt;
  │       └── MOVIE&lt;br /&gt;
  │           ├── 0000115&lt;br /&gt;
There are many exceptions to this layout, for instance, the,&lt;br /&gt;
* File named &amp;quot;Catalogs&amp;quot; may be in all caps or all lower-case,&lt;br /&gt;
* &amp;quot;HONMON&amp;quot; may include one or more of similar names, like &amp;quot;HONMON2&amp;quot; or &amp;quot;HONMONG&amp;quot;, etc,&lt;br /&gt;
* &amp;quot;MOVIE&amp;quot; path may or may not exist, depending on the digitized referencing material, subsequently the filenames may also vary.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
These identification are provided as a rough indication for the uncompressed EPWING format. Compressed EPWING format using the likes of [[EBZip|EBZip or EBUZip]] may differ. By no means should you otherwise use these as reference.&lt;br /&gt;
* &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt; (case-insensitive) begins with {{magic|00 00}} at offset 0x60 followed by the name of e-book, which usually consists of up to 8 or 9 alphanumeric characters in hexadecimal format.&lt;br /&gt;
** [[EBZip#Sample_file|JMDict]] for example, contains {{magic|00 00 4a 4d 64 69 63 74}} at offset 0x60, in ASCII, it would be &amp;quot;&amp;lt;code&amp;gt;..JMdict&amp;lt;/code&amp;gt;&amp;quot;&lt;br /&gt;
** If the name of the e-book is not up to the required length, it is usually padded with {{magic|20 20}}. In the same example with the above JMDict, at offset 0x60 it would then contain {{magic|00 00 4a 4d 64 69 63 74 20 20}}, and again in ASCII &amp;quot;&amp;lt;code&amp;gt;..JMdict  &amp;lt;/code&amp;gt;&amp;quot;&lt;br /&gt;
* &amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt; contains a series of {{magic|00}} at offset 0x05 up to 0x0f.&lt;br /&gt;
* &amp;lt;code&amp;gt;GAI[1,2,3,4][0,4,6,8][F,H]*&amp;lt;/code&amp;gt; has a series of {{magic|00}} at offset 0x01 till 0x07 and contains {{magic|21}} (ASCII: &amp;quot;&amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt;&amp;quot;) at offset 0x0b.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
EPWING was a consortium of five members; Iwanami Shoten, Dai Nippon Printing, Toppan Printing, Fujitsu and Sony, produced the Electronic Book (EB) extension based on WING standard in circa 1991, with the aim to promote electronic publications in a common format, and to standardize WING onto ISO 9660 (the logical format for CD-ROMs), establishing the first edition (V1) of the EPWING convention.&amp;lt;ref&amp;gt;[[Wikipedia:ja:EPWING#成立の経緯]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modern use and alternatives ==&lt;br /&gt;
The format is still in use by users who have been accustomed to its software, however it is considered to be a niche crowd when compared to [[StarDict]]. It might be better known through the use of EB library's [[EBZip]] utility, which offers lossless, &amp;quot;transparent-like&amp;quot; compression that seamlessly works with modern EPWING reader software, without the need to decompress first before using the data.&lt;br /&gt;
&lt;br /&gt;
As the format was intended for digitized hardcopies of published books&amp;lt;ref&amp;gt;[https://ascii.jp/elem/000/000/313/313351/ ASCII.jp：岩波書店、『広辞苑 第五版 CD-ROM』を発売 - ASCII.jp: Iwanami shouten, Kojien 5th edition CD-ROM release]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://ccfrancais.net/royal-cd-app/ ロワイヤル仏和中辞典のCD-ROMを辞書アプリ化する方法 | 三十歳からのフランス語 - Using Royal French-Japanese-Chinese CD-ROM dictionary app | French (language) from 30 years old]&amp;lt;/ref&amp;gt;, it is possible to create your own electronic referencing materials in EPWING format. A common example is Wikipedia where the user runs either pre-made FreePWING&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/staticpages/index.php/wikipedia-fpw wikipedia-fpw Kazuhiro's blog]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://msakamoto-sf.github.io/oldwebarchive/glamenv-septzen/view-609.html 日記/2010/03/08/FreePWING, wikipedia-fpwでWikipedia-jaのデータを変換 - Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/botesan/wik-asterisk-fpw botesan/wik-asterisk-fpw: Wik* (Wiktionary etc) FreePWING converters. Base wikipedia-fpw.]&amp;lt;/ref&amp;gt; or FreeUWING&amp;lt;ref&amp;gt;[http://green.ribbon.to/~ikazuhiro/dic/files/wikipedia-fuw-20091202-src.tar.gz wikipedia-fuw-20091202-src.tar.gz - Index of /~ikazuhir/dic/files - green.ribbon.to]&amp;lt;/ref&amp;gt; generators, the latter FreeUWING, being a variant that uses UTF-8 extensions which the FreePWING lacked, as Unicode format wasn't standardized nor widespread.&lt;br /&gt;
&lt;br /&gt;
The format has also seen its use as a conversion to [https://github.com/yomidevs/yomitan yomitan]/[https://github.com/FooSoft/yomichan yomichan] web browser extension/add-on, notably via FooSoft's [https://github.com/FooSoft/zero-epwing zero-epwing] that aims to convert specific electronic EPWING formatted dictionaries into a JSON format suitable for on-screen pop-up translation. Aedict also supports [https://mvysny.github.io/aedict-blog/EPWING-Support/ one very specific EPWING dictionary, Daijirin] with the developer citing the same niche format issues. &lt;br /&gt;
&lt;br /&gt;
Japanese dictionaries in general, has also witnessed its role in assisting Input Method Editor (IME) software, whereby converting the electronic dictionary format into a format that IME tool can use, enables fast and accurate word lookups.&amp;lt;ref&amp;gt;[https://www.igaku-shoin.co.jp/em/cdrom/henkanji/IME2K.htm 医学書院／書籍・電子メディア／医学書院　医学看護変換辞書／「MS-IME2000用変換辞書」作成・登録マニュアル]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Despite its flaws, EPWING format is still regarded as a trusted source owing to its traditional use, over the more modern crowd-sourced citations. While it was succeeded by the ONESWING format, which adds compression functionality among other features that were missing in EPWING, ONESWING format is more popular for smartphones.&amp;lt;ref&amp;gt;[[wikipedia:ja:EPWING#%E5%BE%8C%E7%B6%99%E3%83%BB%E6%B4%BE%E7%94%9F%E8%A6%8F%E6%A0%BC|後継・派生規格 - Wikipedia (JP)]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
See also: [[wikipedia:EPWING#Software|Software section of EPWING on (English) Wikipedia]] and [[wikipedia:ja:EPWING#%E6%A4%9C%E7%B4%A2%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2|Software section of EPWING on (Japanese) Wikipedia]] for a more comprehensive list of software.&lt;br /&gt;
* [https://ebstudio.info/manual/EBStudio2/EBStudio2.html EBStudio] - (Windows) Used to create EPWING electronic reference materials.&lt;br /&gt;
* [ftp://ftp.sra.co.jp/pub/misc/freepwing freepwing on SRA's FTP server] - (Unix-like) Used to create EPWING electronic reference materials, mainly through scripting.&lt;br /&gt;
* [http://green.ribbon.to/~ikazuhiro/dic/freeuwing.html FreeUWING - FreePWING with JIS X 4081 UTF-8 extension] - (Unix-like) same as FreePWING but with UTF-8 extensions.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EPWING</id>
		<title>EPWING</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EPWING"/>
				<updated>2025-09-05T14:13:23Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* Identification */ Added section. You should not use this as a source of reference, as it could be disputed!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Electronic Publishing formats&lt;br /&gt;
|extensions={{noext}}&lt;br /&gt;
|wikidata={{wikidata|Q11197749}}&lt;br /&gt;
|compression=none&lt;br /&gt;
|released=1987&amp;lt;ref&amp;gt;[https://web.archive.org/web/19980214200328/http://www.epwing.or.jp/epwing/admission/index.html#history EP_入会について - 略歴 - EP_About admission - brief history - Internet Archive]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{notice|1=Majority of the links/citations are in Japanese.}}&lt;br /&gt;
&lt;br /&gt;
'''E'''lectronic '''P'''ublishing-WING or EPWING, is a standardized format for electronic reference materials, typically dictionaries that were distributed on CD-ROM for PCs. [[wikipedia:electronic dictionaries|Electronic dictionaries]] in general were also popular in East Asia.&amp;lt;ref&amp;gt;[https://www.igaku-shoin.co.jp/digital/detail/89680 看護医学電子辞書10 | 電子商品詳細 | 電子商品（個人向け） | 医学書院]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The format itself is largely uncompressed, taking advantage of larger storage capacities CD-ROMs offered over hard disks, and what was the largely unjustifiable cost of storing duplicate data, as well as older PC hardware that have other resource limitations such as slower CPU or less RAM/memory capacities.&lt;br /&gt;
&lt;br /&gt;
== Content structure ==&lt;br /&gt;
EPWING files generally do not have any extensions, with the exception of when they are compressed using the likes of [[EBZip]]. Below is a rough outline describing what it would look like:&lt;br /&gt;
  ├── (top directory)&lt;br /&gt;
  │   ├── Catalogs&lt;br /&gt;
  │   └── (e-book name)&lt;br /&gt;
  │       ├── DATA&lt;br /&gt;
  │       │   └── HONMON&lt;br /&gt;
  │       ├── GAIJI&lt;br /&gt;
  │       │   ├── GAI16F&lt;br /&gt;
  │       │   ├── GAI16H&lt;br /&gt;
  │       │   ├── GAI24F&lt;br /&gt;
  │       │   └── GAI24H&lt;br /&gt;
  │       └── MOVIE&lt;br /&gt;
  │           ├── 0000115&lt;br /&gt;
There are many exceptions to this layout, for instance, the,&lt;br /&gt;
* File named &amp;quot;Catalogs&amp;quot; may be in all caps or all lower-case,&lt;br /&gt;
* &amp;quot;HONMON&amp;quot; may include one or more of similar names, like &amp;quot;HONMON2&amp;quot; or &amp;quot;HONMONG&amp;quot;, etc,&lt;br /&gt;
* &amp;quot;MOVIE&amp;quot; path may or may not exist, depending on the digitized referencing material, subsequently the filenames may also vary.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
These identification are provided as a rough indication. By no means should you use these as reference.&lt;br /&gt;
* &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt; (case-insensitive) begins with {{magic|00 00}} at offset 0x60 followed by the name of e-book, which usually consists of up to 8 alphanumeric characters in hexadecimal format.&lt;br /&gt;
* &amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt; contains a series of {{magic|00}} at offset 0x05 up to 0x0f.&lt;br /&gt;
* &amp;lt;code&amp;gt;GAI[1,2,3,4][0,4,6,8][F,H]00&amp;lt;/code&amp;gt; has a series of {{magic|00}} at offset 0x01 till 0x07 and contains {{magic|21}} at offset 0x0b.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
EPWING was a consortium of five members; Iwanami Shoten, Dai Nippon Printing, Toppan Printing, Fujitsu and Sony, produced the Electronic Book (EB) extension based on WING standard in circa 1991, with the aim to promote electronic publications in a common format, and to standardize WING onto ISO 9660 (the logical format for CD-ROMs), establishing the first edition (V1) of the EPWING convention.&amp;lt;ref&amp;gt;[[Wikipedia:ja:EPWING#成立の経緯]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modern use and alternatives ==&lt;br /&gt;
The format is still in use by users who have been accustomed to its software, however it is considered to be a niche crowd when compared to [[StarDict]]. It might be better known through the use of EB library's [[EBZip]] utility, which offers lossless, &amp;quot;transparent-like&amp;quot; compression that seamlessly works with modern EPWING reader software, without the need to decompress first before using the data.&lt;br /&gt;
&lt;br /&gt;
As the format was intended for digitized hardcopies of published books&amp;lt;ref&amp;gt;[https://ascii.jp/elem/000/000/313/313351/ ASCII.jp：岩波書店、『広辞苑 第五版 CD-ROM』を発売 - ASCII.jp: Iwanami shouten, Kojien 5th edition CD-ROM release]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://ccfrancais.net/royal-cd-app/ ロワイヤル仏和中辞典のCD-ROMを辞書アプリ化する方法 | 三十歳からのフランス語 - Using Royal French-Japanese-Chinese CD-ROM dictionary app | French (language) from 30 years old]&amp;lt;/ref&amp;gt;, it is possible to create your own electronic referencing materials in EPWING format. A common example is Wikipedia where the user runs either pre-made FreePWING&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/staticpages/index.php/wikipedia-fpw wikipedia-fpw Kazuhiro's blog]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://msakamoto-sf.github.io/oldwebarchive/glamenv-septzen/view-609.html 日記/2010/03/08/FreePWING, wikipedia-fpwでWikipedia-jaのデータを変換 - Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/botesan/wik-asterisk-fpw botesan/wik-asterisk-fpw: Wik* (Wiktionary etc) FreePWING converters. Base wikipedia-fpw.]&amp;lt;/ref&amp;gt; or FreeUWING&amp;lt;ref&amp;gt;[http://green.ribbon.to/~ikazuhiro/dic/files/wikipedia-fuw-20091202-src.tar.gz wikipedia-fuw-20091202-src.tar.gz - Index of /~ikazuhir/dic/files - green.ribbon.to]&amp;lt;/ref&amp;gt; generators, the latter FreeUWING, being a variant that uses UTF-8 extensions which the FreePWING lacked, as Unicode format wasn't standardized nor widespread.&lt;br /&gt;
&lt;br /&gt;
The format has also seen its use as a conversion to [https://github.com/yomidevs/yomitan yomitan]/[https://github.com/FooSoft/yomichan yomichan] web browser extension/add-on, notably via FooSoft's [https://github.com/FooSoft/zero-epwing zero-epwing] that aims to convert specific electronic EPWING formatted dictionaries into a JSON format suitable for on-screen pop-up translation. Aedict also supports [https://mvysny.github.io/aedict-blog/EPWING-Support/ one very specific EPWING dictionary, Daijirin] with the developer citing the same niche format issues. &lt;br /&gt;
&lt;br /&gt;
Japanese dictionaries in general, has also witnessed its role in assisting Input Method Editor (IME) software, whereby converting the electronic dictionary format into a format that IME tool can use, enables fast and accurate word lookups.&amp;lt;ref&amp;gt;[https://www.igaku-shoin.co.jp/em/cdrom/henkanji/IME2K.htm 医学書院／書籍・電子メディア／医学書院　医学看護変換辞書／「MS-IME2000用変換辞書」作成・登録マニュアル]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Despite its flaws, EPWING format is still regarded as a trusted source owing to its traditional use, over the more modern crowd-sourced citations. While it was succeeded by the ONESWING format, which adds compression functionality among other features that were missing in EPWING, ONESWING format is more popular for smartphones.&amp;lt;ref&amp;gt;[[wikipedia:ja:EPWING#%E5%BE%8C%E7%B6%99%E3%83%BB%E6%B4%BE%E7%94%9F%E8%A6%8F%E6%A0%BC|後継・派生規格 - Wikipedia (JP)]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
See also: [[wikipedia:EPWING#Software|Software section of EPWING on (English) Wikipedia]] and [[wikipedia:ja:EPWING#%E6%A4%9C%E7%B4%A2%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2|Software section of EPWING on (Japanese) Wikipedia]] for a more comprehensive list of software.&lt;br /&gt;
* [https://ebstudio.info/manual/EBStudio2/EBStudio2.html EBStudio] - (Windows) Used to create EPWING electronic reference materials.&lt;br /&gt;
* [ftp://ftp.sra.co.jp/pub/misc/freepwing freepwing on SRA's FTP server] - (Unix-like) Used to create EPWING electronic reference materials, mainly through scripting.&lt;br /&gt;
* [http://green.ribbon.to/~ikazuhiro/dic/freeuwing.html FreeUWING - FreePWING with JIS X 4081 UTF-8 extension] - (Unix-like) same as FreePWING but with UTF-8 extensions.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EPWING</id>
		<title>EPWING</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EPWING"/>
				<updated>2025-09-05T13:29:57Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* Modern use and alternatives */ Typo fixes and more documentation on the successor of EPWING.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Electronic Publishing formats&lt;br /&gt;
|extensions={{noext}}&lt;br /&gt;
|wikidata={{wikidata|Q11197749}}&lt;br /&gt;
|compression=none&lt;br /&gt;
|released=1987&amp;lt;ref&amp;gt;[https://web.archive.org/web/19980214200328/http://www.epwing.or.jp/epwing/admission/index.html#history EP_入会について - 略歴 - EP_About admission - brief history - Internet Archive]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{notice|1=Majority of the links/citations are in Japanese.}}&lt;br /&gt;
&lt;br /&gt;
'''E'''lectronic '''P'''ublishing-WING or EPWING, is a standardized format for electronic reference materials, typically dictionaries that were distributed on CD-ROM for PCs. [[wikipedia:electronic dictionaries|Electronic dictionaries]] in general were also popular in East Asia.&amp;lt;ref&amp;gt;[https://www.igaku-shoin.co.jp/digital/detail/89680 看護医学電子辞書10 | 電子商品詳細 | 電子商品（個人向け） | 医学書院]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The format itself is largely uncompressed, taking advantage of larger storage capacities CD-ROMs offered over hard disks, and what was the largely unjustifiable cost of storing duplicate data, as well as older PC hardware that have other resource limitations such as slower CPU or less RAM/memory capacities.&lt;br /&gt;
&lt;br /&gt;
== Content structure ==&lt;br /&gt;
EPWING files generally do not have any extensions, with the exception of when they are compressed using the likes of [[EBZip]]. Below is a rough outline describing what it would look like:&lt;br /&gt;
  ├── (top directory)&lt;br /&gt;
  │   ├── Catalogs&lt;br /&gt;
  │   └── (e-book name)&lt;br /&gt;
  │       ├── DATA&lt;br /&gt;
  │       │   └── HONMON&lt;br /&gt;
  │       ├── GAIJI&lt;br /&gt;
  │       │   ├── GAI16F&lt;br /&gt;
  │       │   ├── GAI16H&lt;br /&gt;
  │       │   ├── GAI24F&lt;br /&gt;
  │       │   └── GAI24H&lt;br /&gt;
  │       └── MOVIE&lt;br /&gt;
  │           ├── 0000115&lt;br /&gt;
There are many exceptions to this layout, for instance, the,&lt;br /&gt;
* File named &amp;quot;Catalogs&amp;quot; may be in all caps or all lower-case,&lt;br /&gt;
* &amp;quot;HONMON&amp;quot; may include one or more of similar names, like &amp;quot;HONMON2&amp;quot; or &amp;quot;HONMONG&amp;quot;, etc,&lt;br /&gt;
* &amp;quot;MOVIE&amp;quot; path may or may not exist, depending on the digitized referencing material, subsequently the filenames may also vary.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
EPWING was a consortium of five members; Iwanami Shoten, Dai Nippon Printing, Toppan Printing, Fujitsu and Sony, produced the Electronic Book (EB) extension based on WING standard in circa 1991, with the aim to promote electronic publications in a common format, and to standardize WING onto ISO 9660 (the logical format for CD-ROMs), establishing the first edition (V1) of the EPWING convention.&amp;lt;ref&amp;gt;[[Wikipedia:ja:EPWING#成立の経緯]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modern use and alternatives ==&lt;br /&gt;
The format is still in use by users who have been accustomed to its software, however it is considered to be a niche crowd when compared to [[StarDict]]. It might be better known through the use of EB library's [[EBZip]] utility, which offers lossless, &amp;quot;transparent-like&amp;quot; compression that seamlessly works with modern EPWING reader software, without the need to decompress first before using the data.&lt;br /&gt;
&lt;br /&gt;
As the format was intended for digitized hardcopies of published books&amp;lt;ref&amp;gt;[https://ascii.jp/elem/000/000/313/313351/ ASCII.jp：岩波書店、『広辞苑 第五版 CD-ROM』を発売 - ASCII.jp: Iwanami shouten, Kojien 5th edition CD-ROM release]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://ccfrancais.net/royal-cd-app/ ロワイヤル仏和中辞典のCD-ROMを辞書アプリ化する方法 | 三十歳からのフランス語 - Using Royal French-Japanese-Chinese CD-ROM dictionary app | French (language) from 30 years old]&amp;lt;/ref&amp;gt;, it is possible to create your own electronic referencing materials in EPWING format. A common example is Wikipedia where the user runs either pre-made FreePWING&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/staticpages/index.php/wikipedia-fpw wikipedia-fpw Kazuhiro's blog]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://msakamoto-sf.github.io/oldwebarchive/glamenv-septzen/view-609.html 日記/2010/03/08/FreePWING, wikipedia-fpwでWikipedia-jaのデータを変換 - Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/botesan/wik-asterisk-fpw botesan/wik-asterisk-fpw: Wik* (Wiktionary etc) FreePWING converters. Base wikipedia-fpw.]&amp;lt;/ref&amp;gt; or FreeUWING&amp;lt;ref&amp;gt;[http://green.ribbon.to/~ikazuhiro/dic/files/wikipedia-fuw-20091202-src.tar.gz wikipedia-fuw-20091202-src.tar.gz - Index of /~ikazuhir/dic/files - green.ribbon.to]&amp;lt;/ref&amp;gt; generators, the latter FreeUWING, being a variant that uses UTF-8 extensions which the FreePWING lacked, as Unicode format wasn't standardized nor widespread.&lt;br /&gt;
&lt;br /&gt;
The format has also seen its use as a conversion to [https://github.com/yomidevs/yomitan yomitan]/[https://github.com/FooSoft/yomichan yomichan] web browser extension/add-on, notably via FooSoft's [https://github.com/FooSoft/zero-epwing zero-epwing] that aims to convert specific electronic EPWING formatted dictionaries into a JSON format suitable for on-screen pop-up translation. Aedict also supports [https://mvysny.github.io/aedict-blog/EPWING-Support/ one very specific EPWING dictionary, Daijirin] with the developer citing the same niche format issues. &lt;br /&gt;
&lt;br /&gt;
Japanese dictionaries in general, has also witnessed its role in assisting Input Method Editor (IME) software, whereby converting the electronic dictionary format into a format that IME tool can use, enables fast and accurate word lookups.&amp;lt;ref&amp;gt;[https://www.igaku-shoin.co.jp/em/cdrom/henkanji/IME2K.htm 医学書院／書籍・電子メディア／医学書院　医学看護変換辞書／「MS-IME2000用変換辞書」作成・登録マニュアル]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Despite its flaws, EPWING format is still regarded as a trusted source owing to its traditional use, over the more modern crowd-sourced citations. While it was succeeded by the ONESWING format, which adds compression functionality among other features that were missing in EPWING, ONESWING format is more popular for smartphones.&amp;lt;ref&amp;gt;[[wikipedia:ja:EPWING#%E5%BE%8C%E7%B6%99%E3%83%BB%E6%B4%BE%E7%94%9F%E8%A6%8F%E6%A0%BC|後継・派生規格 - Wikipedia (JP)]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
See also: [[wikipedia:EPWING#Software|Software section of EPWING on (English) Wikipedia]] and [[wikipedia:ja:EPWING#%E6%A4%9C%E7%B4%A2%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2|Software section of EPWING on (Japanese) Wikipedia]] for a more comprehensive list of software.&lt;br /&gt;
* [https://ebstudio.info/manual/EBStudio2/EBStudio2.html EBStudio] - (Windows) Used to create EPWING electronic reference materials.&lt;br /&gt;
* [ftp://ftp.sra.co.jp/pub/misc/freepwing freepwing on SRA's FTP server] - (Unix-like) Used to create EPWING electronic reference materials, mainly through scripting.&lt;br /&gt;
* [http://green.ribbon.to/~ikazuhiro/dic/freeuwing.html FreeUWING - FreePWING with JIS X 4081 UTF-8 extension] - (Unix-like) same as FreePWING but with UTF-8 extensions.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EPWING</id>
		<title>EPWING</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EPWING"/>
				<updated>2025-09-05T13:06:43Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* Software */ Added links to Wikipedia.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Electronic Publishing formats&lt;br /&gt;
|extensions={{noext}}&lt;br /&gt;
|wikidata={{wikidata|Q11197749}}&lt;br /&gt;
|compression=none&lt;br /&gt;
|released=1987&amp;lt;ref&amp;gt;[https://web.archive.org/web/19980214200328/http://www.epwing.or.jp/epwing/admission/index.html#history EP_入会について - 略歴 - EP_About admission - brief history - Internet Archive]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{notice|1=Majority of the links/citations are in Japanese.}}&lt;br /&gt;
&lt;br /&gt;
'''E'''lectronic '''P'''ublishing-WING or EPWING, is a standardized format for electronic reference materials, typically dictionaries that were distributed on CD-ROM for PCs. [[wikipedia:electronic dictionaries|Electronic dictionaries]] in general were also popular in East Asia.&amp;lt;ref&amp;gt;[https://www.igaku-shoin.co.jp/digital/detail/89680 看護医学電子辞書10 | 電子商品詳細 | 電子商品（個人向け） | 医学書院]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The format itself is largely uncompressed, taking advantage of larger storage capacities CD-ROMs offered over hard disks, and what was the largely unjustifiable cost of storing duplicate data, as well as older PC hardware that have other resource limitations such as slower CPU or less RAM/memory capacities.&lt;br /&gt;
&lt;br /&gt;
== Content structure ==&lt;br /&gt;
EPWING files generally do not have any extensions, with the exception of when they are compressed using the likes of [[EBZip]]. Below is a rough outline describing what it would look like:&lt;br /&gt;
  ├── (top directory)&lt;br /&gt;
  │   ├── Catalogs&lt;br /&gt;
  │   └── (e-book name)&lt;br /&gt;
  │       ├── DATA&lt;br /&gt;
  │       │   └── HONMON&lt;br /&gt;
  │       ├── GAIJI&lt;br /&gt;
  │       │   ├── GAI16F&lt;br /&gt;
  │       │   ├── GAI16H&lt;br /&gt;
  │       │   ├── GAI24F&lt;br /&gt;
  │       │   └── GAI24H&lt;br /&gt;
  │       └── MOVIE&lt;br /&gt;
  │           ├── 0000115&lt;br /&gt;
There are many exceptions to this layout, for instance, the,&lt;br /&gt;
* File named &amp;quot;Catalogs&amp;quot; may be in all caps or all lower-case,&lt;br /&gt;
* &amp;quot;HONMON&amp;quot; may include one or more of similar names, like &amp;quot;HONMON2&amp;quot; or &amp;quot;HONMONG&amp;quot;, etc,&lt;br /&gt;
* &amp;quot;MOVIE&amp;quot; path may or may not exist, depending on the digitized referencing material, subsequently the filenames may also vary.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
EPWING was a consortium of five members; Iwanami Shoten, Dai Nippon Printing, Toppan Printing, Fujitsu and Sony, produced the Electronic Book (EB) extension based on WING standard in circa 1991, with the aim to promote electronic publications in a common format, and to standardize WING onto ISO 9660 (the logical format for CD-ROMs), establishing the first edition (V1) of the EPWING convention.&amp;lt;ref&amp;gt;[[Wikipedia:ja:EPWING#成立の経緯]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modern use and alternatives ==&lt;br /&gt;
The format is still in use by users who have been accustomed to its software, however it is considered to be a niche crowd when compared to [[StarDict]]. It might be better known through the use of EB library's [[EBZip]] utility, which offers lossless, &amp;quot;transparent-like&amp;quot; compression that seamlessly works with modern EPWING reader software, without the need to decompress first before using the data.&lt;br /&gt;
&lt;br /&gt;
As the format was intended for digitized hardcopies of published books&amp;lt;ref&amp;gt;[https://ascii.jp/elem/000/000/313/313351/ ASCII.jp：岩波書店、『広辞苑 第五版 CD-ROM』を発売 - ASCII.jp: Iwanami shouten, Kojien 5th edition CD-ROM release]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://ccfrancais.net/royal-cd-app/ ロワイヤル仏和中辞典のCD-ROMを辞書アプリ化する方法 | 三十歳からのフランス語 - Using Royal French-Japanese-Chinese CD-ROM dictionary app | French (language) from 30 years old]&amp;lt;/ref&amp;gt;, it is possible to create your own electronic referencing materials in EPWING format. A common example is Wikipedia where the user runs either a pre-made FreePWING&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/staticpages/index.php/wikipedia-fpw wikipedia-fpw Kazuhiro's blog]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://msakamoto-sf.github.io/oldwebarchive/glamenv-septzen/view-609.html 日記/2010/03/08/FreePWING, wikipedia-fpwでWikipedia-jaのデータを変換 - Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/botesan/wik-asterisk-fpw botesan/wik-asterisk-fpw: Wik* (Wiktionary etc) FreePWING converters. Base wikipedia-fpw.]&amp;lt;/ref&amp;gt; or FreeUWING&amp;lt;ref&amp;gt;[http://green.ribbon.to/~ikazuhiro/dic/files/wikipedia-fuw-20091202-src.tar.gz wikipedia-fuw-20091202-src.tar.gz - Index of /~ikazuhir/dic/files - green.ribbon.to]&amp;lt;/ref&amp;gt; generators, the latter FreeUWING, being a variant that uses UTF-8 extensions which the FreePWING lacked, as Unicode format wasn't standardized nor widespread.&lt;br /&gt;
&lt;br /&gt;
The format has also seen its use as a conversion to [https://github.com/yomidevs/yomitan yomitan]/[https://github.com/FooSoft/yomichan yomichan] web browser extension/add-on, notably via FooSoft's [https://github.com/FooSoft/zero-epwing zero-epwing] that aims to convert specific electronic EPWING formatted dictionaries into a JSON format suitable for on-screen pop-up translation. Aedict also supports [https://mvysny.github.io/aedict-blog/EPWING-Support/ one very specific EPWING dictionary, Daijirin] with the developer citing the same niche format issues. &lt;br /&gt;
&lt;br /&gt;
Japanese dictionaries in general, has also witnessed its role in assisting Input Method Editor (IME) software, whereby converting the electronic dictionary format into a format that IME tool can use, enables fast and accurate word lookups.&amp;lt;ref&amp;gt;[https://www.igaku-shoin.co.jp/em/cdrom/henkanji/IME2K.htm 医学書院／書籍・電子メディア／医学書院　医学看護変換辞書／「MS-IME2000用変換辞書」作成・登録マニュアル]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Despite its flaws, EPWING format is still regarded as a trusted source owing to its traditional use, over the more modern crowd-sourced citations.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
See also: [[wikipedia:EPWING#Software|Software section of EPWING on (English) Wikipedia]] and [[wikipedia:ja:EPWING#%E6%A4%9C%E7%B4%A2%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2|Software section of EPWING on (Japanese) Wikipedia]] for a more comprehensive list of software.&lt;br /&gt;
* [https://ebstudio.info/manual/EBStudio2/EBStudio2.html EBStudio] - (Windows) Used to create EPWING electronic reference materials.&lt;br /&gt;
* [ftp://ftp.sra.co.jp/pub/misc/freepwing freepwing on SRA's FTP server] - (Unix-like) Used to create EPWING electronic reference materials, mainly through scripting.&lt;br /&gt;
* [http://green.ribbon.to/~ikazuhiro/dic/freeuwing.html FreeUWING - FreePWING with JIS X 4081 UTF-8 extension] - (Unix-like) same as FreePWING but with UTF-8 extensions.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EPWING</id>
		<title>EPWING</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EPWING"/>
				<updated>2025-09-05T12:35:36Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Wording corrections and topic expansion in Modern use and alternatives section. Added more references.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Electronic Publishing formats&lt;br /&gt;
|extensions={{noext}}&lt;br /&gt;
|wikidata={{wikidata|Q11197749}}&lt;br /&gt;
|compression=none&lt;br /&gt;
|released=1987&amp;lt;ref&amp;gt;[https://web.archive.org/web/19980214200328/http://www.epwing.or.jp/epwing/admission/index.html#history EP_入会について - 略歴 - EP_About admission - brief history - Internet Archive]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{notice|1=Majority of the links/citations are in Japanese.}}&lt;br /&gt;
&lt;br /&gt;
'''E'''lectronic '''P'''ublishing-WING or EPWING, is a standardized format for electronic reference materials, typically dictionaries that were distributed on CD-ROM for PCs. [[wikipedia:electronic dictionaries|Electronic dictionaries]] in general were also popular in East Asia.&amp;lt;ref&amp;gt;[https://www.igaku-shoin.co.jp/digital/detail/89680 看護医学電子辞書10 | 電子商品詳細 | 電子商品（個人向け） | 医学書院]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The format itself is largely uncompressed, taking advantage of larger storage capacities CD-ROMs offered over hard disks, and what was the largely unjustifiable cost of storing duplicate data, as well as older PC hardware that have other resource limitations such as slower CPU or less RAM/memory capacities.&lt;br /&gt;
&lt;br /&gt;
== Content structure ==&lt;br /&gt;
EPWING files generally do not have any extensions, with the exception of when they are compressed using the likes of [[EBZip]]. Below is a rough outline describing what it would look like:&lt;br /&gt;
  ├── (top directory)&lt;br /&gt;
  │   ├── Catalogs&lt;br /&gt;
  │   └── (e-book name)&lt;br /&gt;
  │       ├── DATA&lt;br /&gt;
  │       │   └── HONMON&lt;br /&gt;
  │       ├── GAIJI&lt;br /&gt;
  │       │   ├── GAI16F&lt;br /&gt;
  │       │   ├── GAI16H&lt;br /&gt;
  │       │   ├── GAI24F&lt;br /&gt;
  │       │   └── GAI24H&lt;br /&gt;
  │       └── MOVIE&lt;br /&gt;
  │           ├── 0000115&lt;br /&gt;
There are many exceptions to this layout, for instance, the,&lt;br /&gt;
* File named &amp;quot;Catalogs&amp;quot; may be in all caps or all lower-case,&lt;br /&gt;
* &amp;quot;HONMON&amp;quot; may include one or more of similar names, like &amp;quot;HONMON2&amp;quot; or &amp;quot;HONMONG&amp;quot;, etc,&lt;br /&gt;
* &amp;quot;MOVIE&amp;quot; path may or may not exist, depending on the digitized referencing material, subsequently the filenames may also vary.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
EPWING was a consortium of five members; Iwanami Shoten, Dai Nippon Printing, Toppan Printing, Fujitsu and Sony, produced the Electronic Book (EB) extension based on WING standard in circa 1991, with the aim to promote electronic publications in a common format, and to standardize WING onto ISO 9660 (the logical format for CD-ROMs), establishing the first edition (V1) of the EPWING convention.&amp;lt;ref&amp;gt;[[Wikipedia:ja:EPWING#成立の経緯]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modern use and alternatives ==&lt;br /&gt;
The format is still in use by users who have been accustomed to its software, however it is considered to be a niche crowd when compared to [[StarDict]]. It might be better known through the use of EB library's [[EBZip]] utility, which offers lossless, &amp;quot;transparent-like&amp;quot; compression that seamlessly works with modern EPWING reader software, without the need to decompress first before using the data.&lt;br /&gt;
&lt;br /&gt;
As the format was intended for digitized hardcopies of published books&amp;lt;ref&amp;gt;[https://ascii.jp/elem/000/000/313/313351/ ASCII.jp：岩波書店、『広辞苑 第五版 CD-ROM』を発売 - ASCII.jp: Iwanami shouten, Kojien 5th edition CD-ROM release]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://ccfrancais.net/royal-cd-app/ ロワイヤル仏和中辞典のCD-ROMを辞書アプリ化する方法 | 三十歳からのフランス語 - Using Royal French-Japanese-Chinese CD-ROM dictionary app | French (language) from 30 years old]&amp;lt;/ref&amp;gt;, it is possible to create your own electronic referencing materials in EPWING format. A common example is Wikipedia where the user runs either a pre-made FreePWING&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/staticpages/index.php/wikipedia-fpw wikipedia-fpw Kazuhiro's blog]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://msakamoto-sf.github.io/oldwebarchive/glamenv-septzen/view-609.html 日記/2010/03/08/FreePWING, wikipedia-fpwでWikipedia-jaのデータを変換 - Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/botesan/wik-asterisk-fpw botesan/wik-asterisk-fpw: Wik* (Wiktionary etc) FreePWING converters. Base wikipedia-fpw.]&amp;lt;/ref&amp;gt; or FreeUWING&amp;lt;ref&amp;gt;[http://green.ribbon.to/~ikazuhiro/dic/files/wikipedia-fuw-20091202-src.tar.gz wikipedia-fuw-20091202-src.tar.gz - Index of /~ikazuhir/dic/files - green.ribbon.to]&amp;lt;/ref&amp;gt; generators, the latter FreeUWING, being a variant that uses UTF-8 extensions which the FreePWING lacked, as Unicode format wasn't standardized nor widespread.&lt;br /&gt;
&lt;br /&gt;
The format has also seen its use as a conversion to [https://github.com/yomidevs/yomitan yomitan]/[https://github.com/FooSoft/yomichan yomichan] web browser extension/add-on, notably via FooSoft's [https://github.com/FooSoft/zero-epwing zero-epwing] that aims to convert specific electronic EPWING formatted dictionaries into a JSON format suitable for on-screen pop-up translation. Aedict also supports [https://mvysny.github.io/aedict-blog/EPWING-Support/ one very specific EPWING dictionary, Daijirin] with the developer citing the same niche format issues. &lt;br /&gt;
&lt;br /&gt;
Japanese dictionaries in general, has also witnessed its role in assisting Input Method Editor (IME) software, whereby converting the electronic dictionary format into a format that IME tool can use, enables fast and accurate word lookups.&amp;lt;ref&amp;gt;[https://www.igaku-shoin.co.jp/em/cdrom/henkanji/IME2K.htm 医学書院／書籍・電子メディア／医学書院　医学看護変換辞書／「MS-IME2000用変換辞書」作成・登録マニュアル]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Despite its flaws, EPWING format is still regarded as a trusted source owing to its traditional use, over the more modern crowd-sourced citations.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://ebstudio.info/manual/EBStudio2/EBStudio2.html EBStudio] - (Windows) Used to create EPWING electronic reference materials.&lt;br /&gt;
* [ftp://ftp.sra.co.jp/pub/misc/freepwing freepwing on SRA's FTP server] - (Unix-like) Used to create EPWING electronic reference materials, mainly through scripting.&lt;br /&gt;
* [http://green.ribbon.to/~ikazuhiro/dic/freeuwing.html FreeUWING - FreePWING with JIS X 4081 UTF-8 extension] - (Unix-like) same as FreePWING but with UTF-8 extensions.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/LHA</id>
		<title>LHA</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/LHA"/>
				<updated>2025-09-04T14:28:37Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Added compression information to FormatInfo template. Added note on jca02266's GitHub repo on intentions to make the code free and easy to use. Addressed a number of old http:// only links which became redirects to https://&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|lzh}}, {{ext|lha}}&lt;br /&gt;
|mimetypes={{mimetype|application/x-lzh-compressed}}&lt;br /&gt;
|pronom={{PRONOM|fmt/626}}&lt;br /&gt;
|wikidata={{wikidata|Q368782}}&lt;br /&gt;
|compression=lossless, optional&lt;br /&gt;
|kaitai struct=lzh&lt;br /&gt;
|released=≤1989&lt;br /&gt;
}}&lt;br /&gt;
'''LHA''' is a family of archiving programs, and their associated file format, created by Haruyasu Yoshizaki (a.k.a. Yoshi). The software was originally called '''LHarc''', then was briefly '''LH''' (v2.02–2.04), then '''LHa''' (v2.05–2.06), before settling on '''LHA''' (v2.10+). The file format is also known as '''LZH'''. See the [[LZH|LZH disambiguation page]] for other &amp;quot;LZH&amp;quot; formats.&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
In the 1990s, LHA was the most popular archiving format on the Amiga platform. It also got some use on the PC platform, including in the installers for id Software games such as Doom and Quake, because [[ZIP]] compression was inferior until the release of PKZIP 2.0, which brought the formats to parity.&lt;br /&gt;
&lt;br /&gt;
It was particularly popular in Japan. Most of the best information about it is in Japanese.&lt;br /&gt;
&lt;br /&gt;
It supports a number of different compression schemes, most of which use [[LZ77 with Huffman coding|LZ77 combined with Huffman coding]].&lt;br /&gt;
&lt;br /&gt;
This article covers the format used by LHarc/LHA, as well as &amp;quot;generalized&amp;quot; LHA format: the same file format, but with other compression schemes. The generalized format was possibly designed by Kazuhiko Miki for [[LArc]], but confirmation of this is needed. If so, it was soon borrowed by LHarc, with new compression schemes.&lt;br /&gt;
&lt;br /&gt;
The format may have been released in 1988, but conclusive evidence is lacking. The earliest confirmed release date is 1989-02 for the [[LArc]] compression schemes (LArc v3.33), and 1989-03 for LHarc (v1.00).&lt;br /&gt;
&lt;br /&gt;
== Format details ==&lt;br /&gt;
=== File structure ===&lt;br /&gt;
An LHA file consists mainly of a sequence of elements, each representing a member file or directory. The sequence is usually terminated by an end-of-archive marker consisting of a single 0x00 byte (but take care, as level 2 headers could start with 0x00). There is no global archive-level header.&lt;br /&gt;
&lt;br /&gt;
=== Member format ===&lt;br /&gt;
There are at least four different formats that an element can have. (Note that this is independent of compression schemes.) In LHA jargon, the formats are known as &amp;quot;header levels&amp;quot;, and are usually called &amp;quot;header level 0&amp;quot;, &amp;quot;... 1&amp;quot;, &amp;quot;... 2&amp;quot;, and &amp;quot;... 3&amp;quot;. The header level is determined by the byte at offset 20 from the beginning of that element.&lt;br /&gt;
&lt;br /&gt;
The header levels are similar, but irritatingly different. They don't even follow the same principles with respect to how they must be parsed.&lt;br /&gt;
&lt;br /&gt;
=== LZH compression overview ===&lt;br /&gt;
From a decompression perspective, the LZ77+Huffman schemes work roughly as follows. (This is oversimplified.) There is a ''codes'' Huffman tree, and a separate ''offsets'' tree. A symbol is read using the codes tree which, depending on its value, represents either a literal byte value, or a ''length''. If it is a length, then an additional symbol is read using the offsets tree. Based on the offset and length, a run of recently-decompressed bytes is repeated.&lt;br /&gt;
&lt;br /&gt;
=== Compression schemes ===&lt;br /&gt;
Each member file has a 5-byte ''compression method'' field, composed of ASCII characters. The first and last characters are virtually always dashes (&amp;quot;&amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&amp;quot;), and might be left off when discussing LHA compression schemes. Known schemes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Category !! Description and remarks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh0-&amp;lt;/code&amp;gt; || || Uncompressed&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh1-&amp;lt;/code&amp;gt; || || [[LZ77 with Huffman coding|LZ77+Huffman]], 4k window, [[Adaptive Huffman coding|adaptive Huffman]] for codes, offsets use a pre-defined Huffman tree. See also [[LZHUF]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh2-&amp;lt;/code&amp;gt; || || LZ77+Huffman, 8k window, adaptive Huffman. Considered experimental/obsolete.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh3-&amp;lt;/code&amp;gt; || || LZ77+Huffman, 8k window, segmented, static Huffman for codes, offsets can use static Huffman or a pre-defined Huffman tree. Considered experimental/obsolete.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh4-&amp;lt;/code&amp;gt; || || Like lh5, but 4k window. Rare.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh5-&amp;lt;/code&amp;gt; || || [[LZ77 with Huffman coding|LZ77+Huffman]], 8k window, segmented, static Huffman. See also [[ar (Haruhiko Okumura)]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh6-&amp;lt;/code&amp;gt; || || Like lh5, but 32k window&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh7-&amp;lt;/code&amp;gt; || || Like lh5, but 64k window&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh7-&amp;lt;/code&amp;gt; || LHARK extension || Refer to [[LHARK]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh8-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;5&amp;quot;| Joe Jared extensions || Like lh5, but 64k window. (Same as lh7.)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lh9-&amp;lt;/code&amp;gt; || Like lh5, but 128k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lha-&amp;lt;/code&amp;gt; || Like lh5, but 256k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhb-&amp;lt;/code&amp;gt; || Like lh5, but 512k window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhc-&amp;lt;/code&amp;gt; || Like lh5, but 1M window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhd-&amp;lt;/code&amp;gt; || Special || Not a compression scheme. Indicates that the element represents a subdirectory.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhe-&amp;lt;/code&amp;gt; || Joe Jared extensions || Like lh5, but 2M window. Probably never used.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lhx-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| UNLHA32 extensions || &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lx1-&amp;lt;/code&amp;gt; || &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz2-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;7&amp;quot;| LArc methods ||rowspan=&amp;quot;7&amp;quot;| Refer to [[LArc]]. &lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz3-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz4-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz5-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz7-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz8-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lzs-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| PMarc extensions ||rowspan=&amp;quot;3&amp;quot;| Refer to [[PMA]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pm2-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ah0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| MAR extensions ||rowspan=&amp;quot;3&amp;quot;| Refer to [[Micrognosis Compression Archiver]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ari-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-hf0-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;3&amp;quot;| PUT/GET variants ||rowspan=&amp;quot;3&amp;quot;| Refer to [[PUT]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lZ5-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;␠LH0␠&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| SAR variants ||rowspan=&amp;quot;2&amp;quot;| Refer to [[SAR (Streamline Design)]]. The compression IDs begin and end with a space (0x20).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;␠LH5␠&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The Wikipedia article has [[Wikipedia:LHA (file format)#Compression methods|more information]] about some of the schemes.&lt;br /&gt;
&lt;br /&gt;
For reference, here are some other LHA-like identifiers:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! References and remarks&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-afx-&amp;lt;/code&amp;gt; || Refer to [[AFX (Atari ST)]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-arn-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Possibly used by [[Micrognosis Compression Archiver]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lzw-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-LD6-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[LDArc and LDIFF]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-lz6-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ll0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[PAKLEO]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-ll1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pc1-&amp;lt;/code&amp;gt; || Used by [[PopCom!]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-pms-&amp;lt;/code&amp;gt; || Used by [[PMsfx]] and [[PMexe]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sqx-&amp;lt;/code&amp;gt; || Refer to [[SQX]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sw0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[SWG]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-sw1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-TK0-&amp;lt;/code&amp;gt; ||rowspan=&amp;quot;2&amp;quot;| Refer to [[TPK (compressed archive)]].&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;-TK1-&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Extended headers ===&lt;br /&gt;
For header levels 1 and higher, each member file has an associated list of &amp;quot;extended headers&amp;quot;, similar to [[ZIP#Extensible data fields|ZIP's extensible data fields]]. Each extended header is tagged with a single byte indicating its type. Extended headers are used to store platform-specific metadata, and to extend the format in other ways.&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20110912035449/http://homepage1.nifty.com:80/dangan/en/Content/Program/Java/jLHA/Notes/ExtHeaderList.html List of extended headers] (from archive.org)&lt;br /&gt;
* [https://github.com/libarchive/libarchive/blob/master/libarchive/archive_read_support_format_lha.c libarchive: archive_read_support_format_lha.c] (look for &amp;quot;EXT_HEADER_CRC&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Header level 0 supports extended data in a more limited way. It allows for just one set of extended header fields (called the &amp;quot;extended area&amp;quot;), the content of which is determined by the initial one-byte &amp;quot;OS type&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
* [https://web.archive.org/web/20110909114523/http://homepage1.nifty.com:80/dangan/en/Content/Program/Java/jLHA/Notes/ExtendArea.html Extended area] (from archive.org)&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
LHA can be identified with high accuracy, but doing so can be laborious, due to the lack of a signature, and other complicating factors.&lt;br /&gt;
&lt;br /&gt;
Identification logic could be based on the header of the first member file. Check that the compression method (offset 2–6) and header level (offset 20) fields have valid values. When suitable and possible, validate the header checksum field -- this depends on the header level.&lt;br /&gt;
&lt;br /&gt;
See also the &amp;quot;[[#See also]]&amp;quot; section, for some formats that could masquerade as LHA.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[LHA/LHarc self-extracting archive]]&lt;br /&gt;
* [[LArc]]&lt;br /&gt;
* [[PMA]]&lt;br /&gt;
* [[LHARK]]&lt;br /&gt;
* [[LHice]]&lt;br /&gt;
* [[PUT]]&lt;br /&gt;
* [[Micrognosis Compression Archiver]]&lt;br /&gt;
* [[SAR (Streamline Design)]]&lt;br /&gt;
* [[LZHUF]]&lt;br /&gt;
* [[ar (Haruhiko Okumura)]]&lt;br /&gt;
&lt;br /&gt;
Other LHA-like formats to be aware of:&lt;br /&gt;
* [[AFX (Atari ST)]]&lt;br /&gt;
* [[ARX]]&lt;br /&gt;
* [[CAR (MylesHi!)]]&lt;br /&gt;
* [[LDArc and LDIFF]]&lt;br /&gt;
* [[SWG]]&lt;br /&gt;
&lt;br /&gt;
== Format documentation ==&lt;br /&gt;
* [http://dangan.g.dgdg.jp/ jLHA software]: LHA Notes&lt;br /&gt;
** [http://dangan.g.dgdg.jp/Content/Program/Java/jLHA/Notes/Notes.html Japanese]&lt;br /&gt;
** [https://web.archive.org/web/20120211104049/http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/Notes/Notes.html English (translation?)] (from archive.org)&lt;br /&gt;
* [https://gswv.apple2.org.za/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info]&lt;br /&gt;
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt LZH file header format (among other archive types)]&lt;br /&gt;
* [http://www33146ue.sakura.ne.jp/staff/iz/formats/lzh.html LZH format]&lt;br /&gt;
* [https://hwiegman.home.xs4all.nl/fileformats/lzh/lzhformat.html LZH format] (Aeco Systems)&lt;br /&gt;
* [https://github.com/libarchive/libarchive/blob/master/libarchive/archive_read_support_format_lha.c libarchive: archive_read_support_format_lha.c] - Has comments with information about the header formats&lt;br /&gt;
* [https://web.archive.org/web/20021005080911/http://www.osirusoft.com/joejared/lzhformat.html Joe Jared's LHA specification] (from archive.org)&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://github.com/fragglet/lhasa lhasa] - Lhasa is a library for parsing LHA (.lzh) archives and a free replacement for the Unix LHA tool.&lt;br /&gt;
* [[7-Zip]]&lt;br /&gt;
* [https://www.ponsoftware.com/en/ Explzh for Windows]&lt;br /&gt;
* [https://web.archive.org/web/20130906133859/http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/jLHA.html Java library] (from archive.org)&lt;br /&gt;
* [https://www.libarchive.org libarchive]&lt;br /&gt;
* [https://web.archive.org/web/20230129210625/http://lha.osdn.jp/ LHa for Unix] (from archive.org) · [https://github.com/jca02266/lha GitHub project] - GitHub repository author states, &amp;quot;I am trying to make the code more free and easy to use as a component of LHa for UNIX.&amp;quot;&lt;br /&gt;
** [https://web.archive.org/web/20200301124852/http://www2m.biglobe.ne.jp/~dolphin/lha/lha.htm LHa for Unix (Tsukao Okamoto)] (from archive.org)&lt;br /&gt;
* [https://micco.mars.jp/mysoft/unlha32.htm UNLHA32.DLL] and [https://micco.mars.jp/mysoft/lhmelt.htm LHMelt]&lt;br /&gt;
* LHarc/LHA&lt;br /&gt;
** For DOS&lt;br /&gt;
*** LHarc v1.00 - English (1989-03-04): [https://archive.org/details/RbbsInABoxVol1No2_640 RBBS in a Box, vol 1 no 2] → 014r/lharc10e.com&lt;br /&gt;
*** {{CdTextfiles|carousel344/013/LHARC12.ZIP|LHarc v1.12 Test version - English}} (1989-04-23)&lt;br /&gt;
*** LHarc v1.12b - English (1989-04-29): [https://archive.org/details/RbbsInABoxVol1No2_640 RBBS in a Box, vol 1 no 2] → add2/lharc12b.exe&lt;br /&gt;
*** {{CdTextfiles|bbox4/archiver/lharc113.exe|LHarc v1.13 Test version - English}} (1989-05-04)&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LH113C.EXE|LHarc v1.13c - English}} (1989-05-31)&lt;br /&gt;
*** LHarc v1.13c - Japanese (1989-05-21): [https://archive.org/details/FMTownsFreeSoftwareCollection1 FM Towns Free Software Collection 1] → FREEWARE.{BIN,CUE} → ms_dos/lharc/*&lt;br /&gt;
*** {{CdTextfiles|garbo/PC/GOLDIES/LH113DE.COM|LHarc v1.13d - English}} (1989-12-22)&lt;br /&gt;
*** LHarc v1.13d - Japanese: [https://archive.org/download/FMTownsFreeSoftwareCollection3 FM Towns Free Software Collection 3] → FREEWARE.{BIN,CUE} → ms_dos/lharc/*&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha205e.exe|LHa v2.05 test version - English}} (1991-01-27)&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LH205.EXE|LHa v2.05 test version - Japanese}}&lt;br /&gt;
*** LHa v2.05b - Japanese (1991-02-07): [https://archive.org/download/FMTownsFreeSoftwareCollection3 FM Towns Free Software Collection 3] → FREEWARE.{BIN,CUE} → ms_dos/lha/*&lt;br /&gt;
*** {{CdTextfiles|hof91/ARC/LHA206E.EXE|LHa v2.06 - English}} (1991-02-14)&lt;br /&gt;
*** {{CdTextfiles|hof91/COMP/LHA210.EXE|LHA v2.10 - English}} (1991-02-24)&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha211.exe|LHA v2.11 - English}} (1991-03-03)&lt;br /&gt;
*** {{CdTextfiles|californiacollect/his008/lha212.exe|LHA v2.12 - English}} (1991-03-21)&lt;br /&gt;
*** LHA v2.12 - Japanese: [https://archive.org/details/VectorSoftwarePackforWinGold20000Titles Vector Software Pack for Win Gold] → (Disc 8) → WIN95/EDU/SCIENCE/CHEMICAL/CHEMICAL.LZH → LHA.EXE&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHA213.EXE|LHA v2.13 - English}} (1991-07-20)&lt;br /&gt;
*** LHA v2.13 - Japanese: [https://archive.org/details/Nova_Win50GameVol7_Japan Win 50 Game+ Vol. 7 (Japan)] → Win 50 Game+ Vol. 7 (Japan).7z → Win 50 Game+ Vol. 7 (Japan).{bin,cue} → lha_file/lha/lha213.exe&lt;br /&gt;
*** LHA v2.52 - English (1992-09-07): [{{DiscMasterURL|view/30113/xtra0390-0399/xtra0395.tar/xtra0395/S2_3KIN1.ZIP/LHA.EXE}}]&lt;br /&gt;
*** {{CdTextfiles|pier02/002a/lha252.exe|LHA v2.52 - Japanese}} (1992-09-07)&lt;br /&gt;
*** LHA v2.54 - Japanese (1992-10-04): [https://archive.org/details/cg-network-4 CG Network 4] → pc/program/lha/lha.exe&lt;br /&gt;
*** LHA v2.55 - Japanese (1992-11-15): [https://archive.org/details/2014.03.ftp.eri.u-tokyo.ac.jp] → ftp.eri.u-tokyo.ac.jp/pub/DOS/tools/lha255.exe&lt;br /&gt;
*** {{CdTextfiles|pdos9606/ARCHIVER/TOOLS/LHA255B.EXE|LHA v2.55b}} (1992-11-24) - Japanese (LHA.EXE) and English (LHA_E.EXE)&lt;br /&gt;
*** [http://info.elf.stuba.sk/packages/pub/pc/pack/lha266.exe LHA v2.66 test version - Japanese] (1994-12-30)&lt;br /&gt;
**** [{{SACFTPURL|pack|lha266e.exe}} lha266e.exe] - Patch to convert error messages to English&lt;br /&gt;
*** Various versions at old-dos.ru: [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=3432 LHarc], [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=713 LHA]&lt;br /&gt;
** For Windows console&lt;br /&gt;
*** [http://info.elf.stuba.sk/packages/pub/pc/pack/lha267.exe LHA32 v2.67.00 test version - Japanese] (1995-10-07)&lt;br /&gt;
**** [{{SACFTPURL|pack|lha267e.exe}} lha267e.exe] - Patch to convert error messages to English&lt;br /&gt;
** Source code&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHARCSRC.ZIP|v1.13b}}&lt;br /&gt;
*** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/LHA211SR.ZIP|v2.11}}&lt;br /&gt;
* [http://old-dos.ru/index.php?page=files&amp;amp;mode=files&amp;amp;do=show&amp;amp;id=2836 Lha32] - by &amp;quot;Take&amp;quot;&lt;br /&gt;
* [[LZHUF]] - Source code related to &amp;quot;lh1&amp;quot; compression&lt;br /&gt;
* [[ar (Haruhiko Okumura)]] - Implementation of &amp;quot;lh5&amp;quot; compression&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
* [https://github.com/temisu/ancient Ancient] - Has modern C++ code for decompressing most LHA schemes, but as of this writing there's no easy way to use it.&lt;br /&gt;
* {{Deark}} (e.g. with &amp;lt;code&amp;gt;-zip&amp;lt;/code&amp;gt; option)&lt;br /&gt;
* {{XAD}}&lt;br /&gt;
* Huffman Compression Engine II, a.k.a. LH7, by Joe Jared&lt;br /&gt;
** v0.21q for DOS: [https://encode.su/threads/1563-DOS-Archiver-Benchmark?p=31913&amp;amp;viewfull=1#post31913] → [https://encode.su/attachment.php?attachmentid=2155&amp;amp;d=1357879541 DLH7021Q.ZIP]&lt;br /&gt;
** v0.21q for Windows: [https://encode.su/threads/1658-LH7-archiver?p=31932&amp;amp;viewfull=1#post31932] → [https://encode.su/attachment.php?attachmentid=2158&amp;amp;d=1358062452 WLH7021Q.7z]&lt;br /&gt;
** v0.21q for Linux: [https://web.archive.org/web/20010901000000*/http://www.osirusoft.com/llh7021q.zip llh7021q.zip] (from archive.org)&lt;br /&gt;
&lt;br /&gt;
=== Software oddities ===&lt;br /&gt;
There are many customized versions of LHarc/LHA floating around. Some of them are listed here, either because they are notable, or because they are potentially misleading. (For DOS, unless otherwise indicated.)&lt;br /&gt;
&lt;br /&gt;
Worth noting is that LHA 2.x has a tamper-detection feature, invoked by running &amp;quot;LHA t LHA.EXE&amp;quot; (or &amp;quot;LHA_E t LHA_E.EXE&amp;quot;). Most (but not all) modified files fail the test, and print &amp;quot;No file found&amp;quot; or &amp;quot;Broken archive&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;LHarc v1.13&amp;quot; (1989-05-14): {{CdTextfiles|simtel0595/DISC1/CITADEL/K2NE608A.ZIP|K2NE608A.ZIP}} → LHARC.EXE - Suspect this is the v1.13 test version, edited to make it look like a full release.&lt;br /&gt;
* &amp;quot;LHarc v1.131c&amp;quot; by Steve Hoglund: [https://archive.org/details/bbs-1 BBS# 1] → DOCUMENT/TURBOBAS.LZH → LHARC.COM&lt;br /&gt;
* [[LHice]] - A hack of v1.13c.&lt;br /&gt;
* {{CdTextfiles|hof91/COMP/LHA114A.COM|&amp;quot;LHarc v1.14a&amp;quot;}} - A hack of v1.13c and/or LHice.&lt;br /&gt;
* {{CdTextfiles|hof91/ARC/LH114B.EXE|&amp;quot;LHARC v1.14β&amp;quot;}} - A hack of v1.13c and/or LHice.&lt;br /&gt;
* {{CdTextfiles|animfestival/SBPRO/LHARC.EXE|&amp;quot;LHarc v2.01a&amp;quot;}} - Apparently a hack of v1.13c.&lt;br /&gt;
* {{CdTextfiles|simtel/simtel9703/disk2/DISC2/ARCERS/LHA255E.EXE|&amp;quot;LHA v2.55E&amp;quot;}} (1992-11-15/1996-01-10) - English translation of v2.55, by Hitoshi Ozawa&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://github.com/fragglet/lhasa/tree/master/test/archives lhasa test files]&lt;br /&gt;
* [https://github.com/libarchive/libarchive/tree/master/libarchive/test libarchive test files] → test_read_format_lha_*.lzh.uu&lt;br /&gt;
* [https://aminet.net/ aminet]&lt;br /&gt;
* {{CdTextfiles|hof91/}} ...&lt;br /&gt;
* {{DexvertSamples|archive/lha}}&lt;br /&gt;
&lt;br /&gt;
== Other links ==&lt;br /&gt;
* [[Wikipedia:LHA (file format)|Wikipedia article]]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Zoo</id>
		<title>Zoo</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Zoo"/>
				<updated>2025-09-04T14:11:57Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* FormatInfo template */ Correction on mandatory compression, as it offers no packing/uncompressed.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|zoo}}&lt;br /&gt;
|mimetypes={{mimetype|application/x-zoo}}&lt;br /&gt;
|pronom={{PRONOM|x-fmt/269}}&lt;br /&gt;
|wikidata={{wikidata|Q219983}}&lt;br /&gt;
|compression=lossless, optional&lt;br /&gt;
|magic=DC A7 C4 FD (at offset 20)&lt;br /&gt;
|released=1986&lt;br /&gt;
}}&lt;br /&gt;
'''Zoo''' is a compressed archive format developed by Rahul Dhesi. It was one of the many competing archive formats in the 1980s, and was based (originally) on [[LZW]] compression. It had some popularity with Open/VMS and Amiga systems, but didn't ultimately win out over [[ZIP]].&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
The Zoo software encompassed several different utilities, which were sometimes distributed individually, and which had their own version numbers.&lt;br /&gt;
* '''Zoo''' - The main program&lt;br /&gt;
* '''Ooz''' - Extractor&lt;br /&gt;
* '''Booz''' (Barebones Ooz) - Extractor; some versions can also list files&lt;br /&gt;
* '''Looz''' (Ooz with List) - Extract/list/execute&lt;br /&gt;
* '''Atoz''' - Helper utility for converting other formats ([[ARC (compression format)|ARC]], [[LBR]]) to Zoo&lt;br /&gt;
* '''Fiz''' - Analyze damaged Zoo files&lt;br /&gt;
* '''Stuff''' - File finder&lt;br /&gt;
* '''Sez''' - Self-Extracting Zoo utility&lt;br /&gt;
&lt;br /&gt;
== Compression methods ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
|0 || No packing || Uncompressed&lt;br /&gt;
|-&lt;br /&gt;
|1 || LZD || [[LZW]]. A fairly generic LZW implementation, with a dynamic code size from 9 to 13 bits, and two special codes: 256=Clear, 257=Stop.&lt;br /&gt;
|-&lt;br /&gt;
|2 || LZH || [[LZ77 with Huffman coding|LZ77+Huffman]]. Nearly identical to [[LHA]]'s &amp;quot;lh5&amp;quot; method. A small difference is that Zoo defines a way to mark the end of data. The format is pretty well documented in the comments in unzoo.c by Martin Schoenert (see below).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
Files have bytes {{magic|DC A7 C4 FD}} at offset 20.&lt;br /&gt;
&lt;br /&gt;
Zoo files typically start with &amp;quot;{{magic|ZOO&amp;amp;nbsp;?.??&amp;amp;nbsp;Archive.}}&amp;quot;, followed by the byte &amp;lt;code&amp;gt;0x1a&amp;lt;/code&amp;gt;, where each &amp;quot;&amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt;&amp;quot; is a digit. Regarding this field, the source code says &amp;quot;The contents of the text message are however not used by Zoo and they may be anything.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Related formats ==&lt;br /&gt;
* [[Zoo filter format]]&lt;br /&gt;
* [[Zoo Z format‎]]&lt;br /&gt;
* [[Brik]] - same author&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
''[Ed. note: The Zoo format information in these documents is not of the highest quality. We haven't found a specification that is reasonably complete and correct.]''&lt;br /&gt;
&lt;br /&gt;
* [https://www.fileformat.info/format/zoo/corion.htm The ZOO Archive File Format] from Corion.net, via FileFormat.info&lt;br /&gt;
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info, including ZOO]&lt;br /&gt;
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt ZOO file header format (among other archive types)]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [[Konvertor]]&lt;br /&gt;
* Zoo - DOS binaries&lt;br /&gt;
** {{CdTextfiles|megarom/megarom1/ARC_LBR/ZOO120.ZIP|v1.20}} (1986-09-06)&lt;br /&gt;
** {{CdTextfiles|carousel344/013/ZOO121.ZIP|v1.21}} (1986-09-21)&lt;br /&gt;
** v1.22 (1986-10-01): [https://archive.org/details/ibm-wgam-wbiz-collection] → ibm-wgam-wbiz-collection/xtra0320-0329.zip → xtra0321.tar → FNW315-1.ZIP → ZOO122.EXE (bare executable)&lt;br /&gt;
** v1.40 (1987-01-24): [https://archive.org/details/shareware-grab-bag] → Shareware_Grab_Bag_1988.zip → 014/zoo140.arc&lt;br /&gt;
** v1.41: [https://archive.org/details/os2sharewarebbs OS/2 Shareware BBS Full Collection] → 08-Other.zip → S12215.ZIP → ZOO.EXE (bare executable)&lt;br /&gt;
** {{CdTextfiles|rbbsv3n1/zzap/zoo200.exe|v2.00}} (~1988-02-06)&lt;br /&gt;
** {{CdTextfiles|hof91/ARC/ZOO201.EXE|v2.01}} (1988-08-25) - Also includes Fiz 2.0 and Stuff 1.0&lt;br /&gt;
** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/ZOO210.EXE|v2.10}} (1991-07-09)&lt;br /&gt;
* Other official Zoo utilities:&lt;br /&gt;
** {{CdTextfiles|simtelctc/disk1/ZOO/BOOZ20.ZIP;1|Booz 2.0}} - Extractor; includes source code and DOS binary&lt;br /&gt;
** {{CdTextfiles|carousel344/013/LOOZ210.ZIP|Looz 2.1}}&lt;br /&gt;
** {{CdTextfiles|carousel/013B/OOZ130.ZIP|Ooz 1.30}}&lt;br /&gt;
** Sez {{CdTextfiles|carousel344/013/SEZ200.ZIP|2.0}}, {{CdTextfiles|microhaus/mhblackbox3/ARCHIVER/SEZ230.ZIP|2.3}} - Makes self-extracting archives&lt;br /&gt;
** {{CdTextfiles|simtelctc/disk1/ZOO/ATOZ112.ZIP;1|Atoz 1.12}} - Conversion helper&lt;br /&gt;
** {{CdTextfiles|simtel/simtel9211/msdos/zoo/stuff2.zip|Stuff 2.0}}&lt;br /&gt;
* [https://www.amiga-stuff.com/archivers-download.html amiga-stuff.com: Archivers] - Lists several versions of Zoo for Amiga&lt;br /&gt;
* [http://archives.math.utk.edu/software/multi-platform/gap/util/unzoo.c unzoo.c] by Martin Schoenert (Does not support LZD.)&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
* {{Deark}}&lt;br /&gt;
&lt;br /&gt;
Original(?) source code:&lt;br /&gt;
* v1.41 (1987-02-07): {{CdTextfiles|hof91/PROGLC/ZOO141_C.LZH|ZOO141_C.LZH}}&lt;br /&gt;
* v1.51 (1987-07-12)&lt;br /&gt;
** [https://archive.org/details/ASMEsMechanicalEngineeringToolkit1997December ASME's Mechanical Engineering Toolkit Dec. 1997] → C_LANG/Z150_SRC.LZH&lt;br /&gt;
** As posted to Usenet comp.sources.unix 1987-08: [{{CdTextfilesURL|sourcecode/usenet/compsrcs/unix/volume11/zoo/}}]&lt;br /&gt;
* v2.01 (1988-08-25)&lt;br /&gt;
** [http://www.nic.funet.fi/index/unix/tools/zoo/zoo-2.01.tar.gz zoo-2.01.tar.gz]&lt;br /&gt;
** [https://archive.org/details/ASMEsMechanicalEngineeringToolkit1997December ASME's Mechanical Engineering Toolkit Dec. 1997] → C_LANG/{Z201SRC1.Z00 + Z201SRC2.Z00}&lt;br /&gt;
** [https://archive.org/details/pegasus20 Pegasus 2.0] → pegasus/c_2/zoo_src.zip&lt;br /&gt;
* v2.10, a.k.a. v2.1 (1991-07-07)&lt;br /&gt;
** [http://www.nic.funet.fi/index/unix/tools/zoo/zoo-2.1.tar.gz zoo-2.1.tar.gz]&lt;br /&gt;
** {{CdTextfiles|aminet0294/AMINET/MISC/UNIX/ZOO_2_10.TAR|ZOO_2_10.TAR}}&lt;br /&gt;
&lt;br /&gt;
Other source code and packages:&lt;br /&gt;
* [http://distcache.freebsd.org/ports-distfiles/zoo-2.10pl1.tar.gz zoo-2.10pl1.tar.gz]&lt;br /&gt;
* [http://www.ibiblio.org/pub/Linux/utils/compress/zoo-2.10-3.src.rpm zoo-2.10-3.src.rpm]&lt;br /&gt;
* [https://build.opensuse.org/package/show/openSUSE:Factory/zoo openSUSE maintained variant of zoo-2.10]&lt;br /&gt;
* [https://github.com/troglobit/zoo zoo - GitHub] - &amp;quot;A service to all computer archaeologists and acts as a focal point for patches and maintenance for the long haul.&amp;quot; Provides updated licensing terms that it is now Unlicense/Public Domain.&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* {{CdTextfilesURL|aminet0294/AMINET/UTIL/ARC/}} → *.ZOO&lt;br /&gt;
* {{CdTextfilesURL|garbo/PC/}} → .../*.ZOO&lt;br /&gt;
* {{CdTextfilesURL|geminiatari/ZIP/PROGRAM/}} → *.ZOO&lt;br /&gt;
* {{DexvertSamples|archive/zoo}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Wikipedia: Zoo (file format)]]&lt;br /&gt;
* {{CdTextfiles|rbbsv3n1/zzap/zooplan1.zip|zooplan1.zip}} → ZOOPLAN1.TXT - A Zoo Manifesto, by Rahul Dhesi (1986-11-01)&lt;br /&gt;
* {{CdTextfiles|simtelctc/disk1/ZOO/UGUIDE.ZIP;1|The zoo Archiver User's Guide}}, by Bill Davidsen (for Zoo 2.01)&lt;br /&gt;
* [https://manpages.ubuntu.com/manpages/bionic/man1/zoo.1.html Zoo man page] - Includes a change log going back to v1.71&lt;br /&gt;
* {{CdTextfiles|carousel344/013/ZOO121.ZIP|Zoo 1.21}} → ZOOHSTRY.TXT - Has some historical information about older versions&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Zoo</id>
		<title>Zoo</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Zoo"/>
				<updated>2025-09-04T14:10:09Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* FormatInfo template */ Added compression information.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|zoo}}&lt;br /&gt;
|mimetypes={{mimetype|application/x-zoo}}&lt;br /&gt;
|pronom={{PRONOM|x-fmt/269}}&lt;br /&gt;
|wikidata={{wikidata|Q219983}}&lt;br /&gt;
|compression=lossless, mandatory&lt;br /&gt;
|magic=DC A7 C4 FD (at offset 20)&lt;br /&gt;
|released=1986&lt;br /&gt;
}}&lt;br /&gt;
'''Zoo''' is a compressed archive format developed by Rahul Dhesi. It was one of the many competing archive formats in the 1980s, and was based (originally) on [[LZW]] compression. It had some popularity with Open/VMS and Amiga systems, but didn't ultimately win out over [[ZIP]].&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
The Zoo software encompassed several different utilities, which were sometimes distributed individually, and which had their own version numbers.&lt;br /&gt;
* '''Zoo''' - The main program&lt;br /&gt;
* '''Ooz''' - Extractor&lt;br /&gt;
* '''Booz''' (Barebones Ooz) - Extractor; some versions can also list files&lt;br /&gt;
* '''Looz''' (Ooz with List) - Extract/list/execute&lt;br /&gt;
* '''Atoz''' - Helper utility for converting other formats ([[ARC (compression format)|ARC]], [[LBR]]) to Zoo&lt;br /&gt;
* '''Fiz''' - Analyze damaged Zoo files&lt;br /&gt;
* '''Stuff''' - File finder&lt;br /&gt;
* '''Sez''' - Self-Extracting Zoo utility&lt;br /&gt;
&lt;br /&gt;
== Compression methods ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
|0 || No packing || Uncompressed&lt;br /&gt;
|-&lt;br /&gt;
|1 || LZD || [[LZW]]. A fairly generic LZW implementation, with a dynamic code size from 9 to 13 bits, and two special codes: 256=Clear, 257=Stop.&lt;br /&gt;
|-&lt;br /&gt;
|2 || LZH || [[LZ77 with Huffman coding|LZ77+Huffman]]. Nearly identical to [[LHA]]'s &amp;quot;lh5&amp;quot; method. A small difference is that Zoo defines a way to mark the end of data. The format is pretty well documented in the comments in unzoo.c by Martin Schoenert (see below).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
Files have bytes {{magic|DC A7 C4 FD}} at offset 20.&lt;br /&gt;
&lt;br /&gt;
Zoo files typically start with &amp;quot;{{magic|ZOO&amp;amp;nbsp;?.??&amp;amp;nbsp;Archive.}}&amp;quot;, followed by the byte &amp;lt;code&amp;gt;0x1a&amp;lt;/code&amp;gt;, where each &amp;quot;&amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt;&amp;quot; is a digit. Regarding this field, the source code says &amp;quot;The contents of the text message are however not used by Zoo and they may be anything.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Related formats ==&lt;br /&gt;
* [[Zoo filter format]]&lt;br /&gt;
* [[Zoo Z format‎]]&lt;br /&gt;
* [[Brik]] - same author&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
''[Ed. note: The Zoo format information in these documents is not of the highest quality. We haven't found a specification that is reasonably complete and correct.]''&lt;br /&gt;
&lt;br /&gt;
* [https://www.fileformat.info/format/zoo/corion.htm The ZOO Archive File Format] from Corion.net, via FileFormat.info&lt;br /&gt;
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info, including ZOO]&lt;br /&gt;
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt ZOO file header format (among other archive types)]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [[Konvertor]]&lt;br /&gt;
* Zoo - DOS binaries&lt;br /&gt;
** {{CdTextfiles|megarom/megarom1/ARC_LBR/ZOO120.ZIP|v1.20}} (1986-09-06)&lt;br /&gt;
** {{CdTextfiles|carousel344/013/ZOO121.ZIP|v1.21}} (1986-09-21)&lt;br /&gt;
** v1.22 (1986-10-01): [https://archive.org/details/ibm-wgam-wbiz-collection] → ibm-wgam-wbiz-collection/xtra0320-0329.zip → xtra0321.tar → FNW315-1.ZIP → ZOO122.EXE (bare executable)&lt;br /&gt;
** v1.40 (1987-01-24): [https://archive.org/details/shareware-grab-bag] → Shareware_Grab_Bag_1988.zip → 014/zoo140.arc&lt;br /&gt;
** v1.41: [https://archive.org/details/os2sharewarebbs OS/2 Shareware BBS Full Collection] → 08-Other.zip → S12215.ZIP → ZOO.EXE (bare executable)&lt;br /&gt;
** {{CdTextfiles|rbbsv3n1/zzap/zoo200.exe|v2.00}} (~1988-02-06)&lt;br /&gt;
** {{CdTextfiles|hof91/ARC/ZOO201.EXE|v2.01}} (1988-08-25) - Also includes Fiz 2.0 and Stuff 1.0&lt;br /&gt;
** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/ZOO210.EXE|v2.10}} (1991-07-09)&lt;br /&gt;
* Other official Zoo utilities:&lt;br /&gt;
** {{CdTextfiles|simtelctc/disk1/ZOO/BOOZ20.ZIP;1|Booz 2.0}} - Extractor; includes source code and DOS binary&lt;br /&gt;
** {{CdTextfiles|carousel344/013/LOOZ210.ZIP|Looz 2.1}}&lt;br /&gt;
** {{CdTextfiles|carousel/013B/OOZ130.ZIP|Ooz 1.30}}&lt;br /&gt;
** Sez {{CdTextfiles|carousel344/013/SEZ200.ZIP|2.0}}, {{CdTextfiles|microhaus/mhblackbox3/ARCHIVER/SEZ230.ZIP|2.3}} - Makes self-extracting archives&lt;br /&gt;
** {{CdTextfiles|simtelctc/disk1/ZOO/ATOZ112.ZIP;1|Atoz 1.12}} - Conversion helper&lt;br /&gt;
** {{CdTextfiles|simtel/simtel9211/msdos/zoo/stuff2.zip|Stuff 2.0}}&lt;br /&gt;
* [https://www.amiga-stuff.com/archivers-download.html amiga-stuff.com: Archivers] - Lists several versions of Zoo for Amiga&lt;br /&gt;
* [http://archives.math.utk.edu/software/multi-platform/gap/util/unzoo.c unzoo.c] by Martin Schoenert (Does not support LZD.)&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
* {{Deark}}&lt;br /&gt;
&lt;br /&gt;
Original(?) source code:&lt;br /&gt;
* v1.41 (1987-02-07): {{CdTextfiles|hof91/PROGLC/ZOO141_C.LZH|ZOO141_C.LZH}}&lt;br /&gt;
* v1.51 (1987-07-12)&lt;br /&gt;
** [https://archive.org/details/ASMEsMechanicalEngineeringToolkit1997December ASME's Mechanical Engineering Toolkit Dec. 1997] → C_LANG/Z150_SRC.LZH&lt;br /&gt;
** As posted to Usenet comp.sources.unix 1987-08: [{{CdTextfilesURL|sourcecode/usenet/compsrcs/unix/volume11/zoo/}}]&lt;br /&gt;
* v2.01 (1988-08-25)&lt;br /&gt;
** [http://www.nic.funet.fi/index/unix/tools/zoo/zoo-2.01.tar.gz zoo-2.01.tar.gz]&lt;br /&gt;
** [https://archive.org/details/ASMEsMechanicalEngineeringToolkit1997December ASME's Mechanical Engineering Toolkit Dec. 1997] → C_LANG/{Z201SRC1.Z00 + Z201SRC2.Z00}&lt;br /&gt;
** [https://archive.org/details/pegasus20 Pegasus 2.0] → pegasus/c_2/zoo_src.zip&lt;br /&gt;
* v2.10, a.k.a. v2.1 (1991-07-07)&lt;br /&gt;
** [http://www.nic.funet.fi/index/unix/tools/zoo/zoo-2.1.tar.gz zoo-2.1.tar.gz]&lt;br /&gt;
** {{CdTextfiles|aminet0294/AMINET/MISC/UNIX/ZOO_2_10.TAR|ZOO_2_10.TAR}}&lt;br /&gt;
&lt;br /&gt;
Other source code and packages:&lt;br /&gt;
* [http://distcache.freebsd.org/ports-distfiles/zoo-2.10pl1.tar.gz zoo-2.10pl1.tar.gz]&lt;br /&gt;
* [http://www.ibiblio.org/pub/Linux/utils/compress/zoo-2.10-3.src.rpm zoo-2.10-3.src.rpm]&lt;br /&gt;
* [https://build.opensuse.org/package/show/openSUSE:Factory/zoo openSUSE maintained variant of zoo-2.10]&lt;br /&gt;
* [https://github.com/troglobit/zoo zoo - GitHub] - &amp;quot;A service to all computer archaeologists and acts as a focal point for patches and maintenance for the long haul.&amp;quot; Provides updated licensing terms that it is now Unlicense/Public Domain.&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* {{CdTextfilesURL|aminet0294/AMINET/UTIL/ARC/}} → *.ZOO&lt;br /&gt;
* {{CdTextfilesURL|garbo/PC/}} → .../*.ZOO&lt;br /&gt;
* {{CdTextfilesURL|geminiatari/ZIP/PROGRAM/}} → *.ZOO&lt;br /&gt;
* {{DexvertSamples|archive/zoo}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Wikipedia: Zoo (file format)]]&lt;br /&gt;
* {{CdTextfiles|rbbsv3n1/zzap/zooplan1.zip|zooplan1.zip}} → ZOOPLAN1.TXT - A Zoo Manifesto, by Rahul Dhesi (1986-11-01)&lt;br /&gt;
* {{CdTextfiles|simtelctc/disk1/ZOO/UGUIDE.ZIP;1|The zoo Archiver User's Guide}}, by Bill Davidsen (for Zoo 2.01)&lt;br /&gt;
* [https://manpages.ubuntu.com/manpages/bionic/man1/zoo.1.html Zoo man page] - Includes a change log going back to v1.71&lt;br /&gt;
* {{CdTextfiles|carousel344/013/ZOO121.ZIP|Zoo 1.21}} → ZOOHSTRY.TXT - Has some historical information about older versions&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Zoo_filter_format</id>
		<title>Zoo filter format</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Zoo_filter_format"/>
				<updated>2025-09-04T14:08:43Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* Format Info template */ Added compression details and magic bytes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Compression&lt;br /&gt;
|compression=lossless?; mandatory&lt;br /&gt;
|magic=32 5a&lt;br /&gt;
|released=1988&lt;br /&gt;
}}&lt;br /&gt;
'''Zoo filter format''' is a compressed file format related to the [[Zoo]] archive format. It is a streamable format, intended to be used e.g. in Unix-style pipes.&lt;br /&gt;
&lt;br /&gt;
Support for it was introduced in Zoo 2.00, as a compile-time option. It does not appear to be enabled in the DOS releases of Zoo.&lt;br /&gt;
&lt;br /&gt;
The filter format is distinct from [[Zoo Z format]].&lt;br /&gt;
&lt;br /&gt;
Refer to the [[Zoo]] article for information related to the Zoo format and software.&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
The format is a simple container format consisting of a two-byte signature, then the compressed data, then a [[CRC]].&lt;br /&gt;
&lt;br /&gt;
The compression method is either LZD or LZH. It is not recorded in the datastream. You must use the &amp;quot;&amp;lt;code&amp;gt;h&amp;lt;/code&amp;gt;&amp;quot; option to compress or decompress LZH.&lt;br /&gt;
&lt;br /&gt;
To compress, use &amp;quot;&amp;lt;code&amp;gt;zoo fc&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;zoo fch&amp;lt;/code&amp;gt;&amp;quot;. To decompress, use &amp;quot;&amp;lt;code&amp;gt;zoo fu&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;zoo fuh&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
Files start with bytes {{magic|32 5a}}.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
Refer to [[Zoo#Software]].&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Zoo</id>
		<title>Zoo</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Zoo"/>
				<updated>2025-09-04T14:04:09Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Added magic to FormatInfo. Added a link to GitHub repository which, &amp;quot;acts as a focal point for patches and maintenance for the long haul&amp;quot;, under Other source code and packages section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|subcat=Archiving&lt;br /&gt;
|extensions={{ext|zoo}}&lt;br /&gt;
|mimetypes={{mimetype|application/x-zoo}}&lt;br /&gt;
|pronom={{PRONOM|x-fmt/269}}&lt;br /&gt;
|wikidata={{wikidata|Q219983}}&lt;br /&gt;
|magic=DC A7 C4 FD (at offset 20)&lt;br /&gt;
|released=1986&lt;br /&gt;
}}&lt;br /&gt;
'''Zoo''' is a compressed archive format developed by Rahul Dhesi. It was one of the many competing archive formats in the 1980s, and was based (originally) on [[LZW]] compression. It had some popularity with Open/VMS and Amiga systems, but didn't ultimately win out over [[ZIP]].&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
The Zoo software encompassed several different utilities, which were sometimes distributed individually, and which had their own version numbers.&lt;br /&gt;
* '''Zoo''' - The main program&lt;br /&gt;
* '''Ooz''' - Extractor&lt;br /&gt;
* '''Booz''' (Barebones Ooz) - Extractor; some versions can also list files&lt;br /&gt;
* '''Looz''' (Ooz with List) - Extract/list/execute&lt;br /&gt;
* '''Atoz''' - Helper utility for converting other formats ([[ARC (compression format)|ARC]], [[LBR]]) to Zoo&lt;br /&gt;
* '''Fiz''' - Analyze damaged Zoo files&lt;br /&gt;
* '''Stuff''' - File finder&lt;br /&gt;
* '''Sez''' - Self-Extracting Zoo utility&lt;br /&gt;
&lt;br /&gt;
== Compression methods ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! ID !! Name !! Description&lt;br /&gt;
|-&lt;br /&gt;
|0 || No packing || Uncompressed&lt;br /&gt;
|-&lt;br /&gt;
|1 || LZD || [[LZW]]. A fairly generic LZW implementation, with a dynamic code size from 9 to 13 bits, and two special codes: 256=Clear, 257=Stop.&lt;br /&gt;
|-&lt;br /&gt;
|2 || LZH || [[LZ77 with Huffman coding|LZ77+Huffman]]. Nearly identical to [[LHA]]'s &amp;quot;lh5&amp;quot; method. A small difference is that Zoo defines a way to mark the end of data. The format is pretty well documented in the comments in unzoo.c by Martin Schoenert (see below).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
Files have bytes {{magic|DC A7 C4 FD}} at offset 20.&lt;br /&gt;
&lt;br /&gt;
Zoo files typically start with &amp;quot;{{magic|ZOO&amp;amp;nbsp;?.??&amp;amp;nbsp;Archive.}}&amp;quot;, followed by the byte &amp;lt;code&amp;gt;0x1a&amp;lt;/code&amp;gt;, where each &amp;quot;&amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt;&amp;quot; is a digit. Regarding this field, the source code says &amp;quot;The contents of the text message are however not used by Zoo and they may be anything.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Related formats ==&lt;br /&gt;
* [[Zoo filter format]]&lt;br /&gt;
* [[Zoo Z format‎]]&lt;br /&gt;
* [[Brik]] - same author&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
''[Ed. note: The Zoo format information in these documents is not of the highest quality. We haven't found a specification that is reasonably complete and correct.]''&lt;br /&gt;
&lt;br /&gt;
* [https://www.fileformat.info/format/zoo/corion.htm The ZOO Archive File Format] from Corion.net, via FileFormat.info&lt;br /&gt;
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info, including ZOO]&lt;br /&gt;
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt ZOO file header format (among other archive types)]&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [[Konvertor]]&lt;br /&gt;
* Zoo - DOS binaries&lt;br /&gt;
** {{CdTextfiles|megarom/megarom1/ARC_LBR/ZOO120.ZIP|v1.20}} (1986-09-06)&lt;br /&gt;
** {{CdTextfiles|carousel344/013/ZOO121.ZIP|v1.21}} (1986-09-21)&lt;br /&gt;
** v1.22 (1986-10-01): [https://archive.org/details/ibm-wgam-wbiz-collection] → ibm-wgam-wbiz-collection/xtra0320-0329.zip → xtra0321.tar → FNW315-1.ZIP → ZOO122.EXE (bare executable)&lt;br /&gt;
** v1.40 (1987-01-24): [https://archive.org/details/shareware-grab-bag] → Shareware_Grab_Bag_1988.zip → 014/zoo140.arc&lt;br /&gt;
** v1.41: [https://archive.org/details/os2sharewarebbs OS/2 Shareware BBS Full Collection] → 08-Other.zip → S12215.ZIP → ZOO.EXE (bare executable)&lt;br /&gt;
** {{CdTextfiles|rbbsv3n1/zzap/zoo200.exe|v2.00}} (~1988-02-06)&lt;br /&gt;
** {{CdTextfiles|hof91/ARC/ZOO201.EXE|v2.01}} (1988-08-25) - Also includes Fiz 2.0 and Stuff 1.0&lt;br /&gt;
** {{CdTextfiles|simtel/simtel20/MSDOS/ARCHIVRS/ZOO210.EXE|v2.10}} (1991-07-09)&lt;br /&gt;
* Other official Zoo utilities:&lt;br /&gt;
** {{CdTextfiles|simtelctc/disk1/ZOO/BOOZ20.ZIP;1|Booz 2.0}} - Extractor; includes source code and DOS binary&lt;br /&gt;
** {{CdTextfiles|carousel344/013/LOOZ210.ZIP|Looz 2.1}}&lt;br /&gt;
** {{CdTextfiles|carousel/013B/OOZ130.ZIP|Ooz 1.30}}&lt;br /&gt;
** Sez {{CdTextfiles|carousel344/013/SEZ200.ZIP|2.0}}, {{CdTextfiles|microhaus/mhblackbox3/ARCHIVER/SEZ230.ZIP|2.3}} - Makes self-extracting archives&lt;br /&gt;
** {{CdTextfiles|simtelctc/disk1/ZOO/ATOZ112.ZIP;1|Atoz 1.12}} - Conversion helper&lt;br /&gt;
** {{CdTextfiles|simtel/simtel9211/msdos/zoo/stuff2.zip|Stuff 2.0}}&lt;br /&gt;
* [https://www.amiga-stuff.com/archivers-download.html amiga-stuff.com: Archivers] - Lists several versions of Zoo for Amiga&lt;br /&gt;
* [http://archives.math.utk.edu/software/multi-platform/gap/util/unzoo.c unzoo.c] by Martin Schoenert (Does not support LZD.)&lt;br /&gt;
* [https://github.com/PascalVault/Lazarus_Unpacker Open-source library in Free Pascal]&lt;br /&gt;
* {{Deark}}&lt;br /&gt;
&lt;br /&gt;
Original(?) source code:&lt;br /&gt;
* v1.41 (1987-02-07): {{CdTextfiles|hof91/PROGLC/ZOO141_C.LZH|ZOO141_C.LZH}}&lt;br /&gt;
* v1.51 (1987-07-12)&lt;br /&gt;
** [https://archive.org/details/ASMEsMechanicalEngineeringToolkit1997December ASME's Mechanical Engineering Toolkit Dec. 1997] → C_LANG/Z150_SRC.LZH&lt;br /&gt;
** As posted to Usenet comp.sources.unix 1987-08: [{{CdTextfilesURL|sourcecode/usenet/compsrcs/unix/volume11/zoo/}}]&lt;br /&gt;
* v2.01 (1988-08-25)&lt;br /&gt;
** [http://www.nic.funet.fi/index/unix/tools/zoo/zoo-2.01.tar.gz zoo-2.01.tar.gz]&lt;br /&gt;
** [https://archive.org/details/ASMEsMechanicalEngineeringToolkit1997December ASME's Mechanical Engineering Toolkit Dec. 1997] → C_LANG/{Z201SRC1.Z00 + Z201SRC2.Z00}&lt;br /&gt;
** [https://archive.org/details/pegasus20 Pegasus 2.0] → pegasus/c_2/zoo_src.zip&lt;br /&gt;
* v2.10, a.k.a. v2.1 (1991-07-07)&lt;br /&gt;
** [http://www.nic.funet.fi/index/unix/tools/zoo/zoo-2.1.tar.gz zoo-2.1.tar.gz]&lt;br /&gt;
** {{CdTextfiles|aminet0294/AMINET/MISC/UNIX/ZOO_2_10.TAR|ZOO_2_10.TAR}}&lt;br /&gt;
&lt;br /&gt;
Other source code and packages:&lt;br /&gt;
* [http://distcache.freebsd.org/ports-distfiles/zoo-2.10pl1.tar.gz zoo-2.10pl1.tar.gz]&lt;br /&gt;
* [http://www.ibiblio.org/pub/Linux/utils/compress/zoo-2.10-3.src.rpm zoo-2.10-3.src.rpm]&lt;br /&gt;
* [https://build.opensuse.org/package/show/openSUSE:Factory/zoo openSUSE maintained variant of zoo-2.10]&lt;br /&gt;
* [https://github.com/troglobit/zoo zoo - GitHub] - &amp;quot;A service to all computer archaeologists and acts as a focal point for patches and maintenance for the long haul.&amp;quot; Provides updated licensing terms that it is now Unlicense/Public Domain.&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* {{CdTextfilesURL|aminet0294/AMINET/UTIL/ARC/}} → *.ZOO&lt;br /&gt;
* {{CdTextfilesURL|garbo/PC/}} → .../*.ZOO&lt;br /&gt;
* {{CdTextfilesURL|geminiatari/ZIP/PROGRAM/}} → *.ZOO&lt;br /&gt;
* {{DexvertSamples|archive/zoo}}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Wikipedia: Zoo (file format)]]&lt;br /&gt;
* {{CdTextfiles|rbbsv3n1/zzap/zooplan1.zip|zooplan1.zip}} → ZOOPLAN1.TXT - A Zoo Manifesto, by Rahul Dhesi (1986-11-01)&lt;br /&gt;
* {{CdTextfiles|simtelctc/disk1/ZOO/UGUIDE.ZIP;1|The zoo Archiver User's Guide}}, by Bill Davidsen (for Zoo 2.01)&lt;br /&gt;
* [https://manpages.ubuntu.com/manpages/bionic/man1/zoo.1.html Zoo man page] - Includes a change log going back to v1.71&lt;br /&gt;
* {{CdTextfiles|carousel344/013/ZOO121.ZIP|Zoo 1.21}} → ZOOHSTRY.TXT - Has some historical information about older versions&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EPWING</id>
		<title>EPWING</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EPWING"/>
				<updated>2025-09-02T18:48:36Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* Modern use and alternatives */ Typo fixes for FreeUWING reference.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Electronic Publishing formats&lt;br /&gt;
|extensions={{noext}}&lt;br /&gt;
|wikidata={{wikidata|Q11197749}}&lt;br /&gt;
|compression=none&lt;br /&gt;
|released=1987&amp;lt;ref&amp;gt;[https://web.archive.org/web/19980214200328/http://www.epwing.or.jp/epwing/admission/index.html#history EP_入会について - 略歴 - EP_About admission - brief history - Internet Archive]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{notice|1=Majority of the links/citations are in Japanese.}}&lt;br /&gt;
&lt;br /&gt;
'''E'''lectronic '''P'''ublishing-WING or EPWING, is a standardized format for electronic reference materials, typically dictionaries that were distributed on CD-ROM for PCs. [[wikipedia:electronic dictionaries|Electronic dictionaries]] in general were also popular in East Asia.&lt;br /&gt;
&lt;br /&gt;
The format itself is largely uncompressed, taking advantage of larger storage capacities CD-ROMs offered over hard disks, and what was the largely unjustifiable cost of storing duplicate data, as well as older PC hardware that have other resource limitations such as slower CPU or less RAM/memory capacities.&lt;br /&gt;
&lt;br /&gt;
== Content structure ==&lt;br /&gt;
EPWING files generally do not have any extensions, with the exception of when they are compressed using the likes of [[EBZip]]. Below is a rough outline describing what it would look like:&lt;br /&gt;
  ├── (top directory)&lt;br /&gt;
  │   ├── Catalogs&lt;br /&gt;
  │   └── (e-book name)&lt;br /&gt;
  │       ├── DATA&lt;br /&gt;
  │       │   └── HONMON&lt;br /&gt;
  │       ├── GAIJI&lt;br /&gt;
  │       │   ├── GAI16F&lt;br /&gt;
  │       │   ├── GAI16H&lt;br /&gt;
  │       │   ├── GAI24F&lt;br /&gt;
  │       │   └── GAI24H&lt;br /&gt;
  │       └── MOVIE&lt;br /&gt;
  │           ├── 0000115&lt;br /&gt;
There are many exceptions to this layout, for instance, the,&lt;br /&gt;
* File named &amp;quot;Catalogs&amp;quot; may be in all caps or all lower-case,&lt;br /&gt;
* &amp;quot;HONMON&amp;quot; may include one or more of similar names, like &amp;quot;HONMON2&amp;quot; or &amp;quot;HONMONG&amp;quot;, etc,&lt;br /&gt;
* &amp;quot;MOVIE&amp;quot; path may or may not exist, depending on the digitized referencing material, subsequently the filenames may also vary.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
EPWING was a consortium of five members; Iwanami Shoten, Dai Nippon Printing, Toppan Printing, Fujitsu and Sony, produced the Electronic Book (EB) extension based on WING standard in circa 1991, with the aim to promote electronic publications in a common format, and to standardize WING onto ISO 9660 (the logical format for CD-ROMs), establishing the first edition (V1) of the EPWING convention.&amp;lt;ref&amp;gt;[[Wikipedia:ja:EPWING#成立の経緯]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modern use and alternatives ==&lt;br /&gt;
The format is still in use by users who have been accustomed to the software, however it is considered to be a niche crowd when compared to [[StarDict]]. It might be better known through the use of EB library's [[EBZip]] utility, which offers lossless, &amp;quot;transparent-like&amp;quot; compression that seamlessly works with modern EPWING reader software, without the need to decompress first before using the data.&lt;br /&gt;
&lt;br /&gt;
As the format was intended for digitized hardcopies of published books, it is possible to create your own electronic referencing materials in EPWING format. A common example is Wikipedia where the user runs either a pre-made FreePWING&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/staticpages/index.php/wikipedia-fpw wikipedia-fpw Kazuhiro's blog]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://msakamoto-sf.github.io/oldwebarchive/glamenv-septzen/view-609.html 日記/2010/03/08/FreePWING, wikipedia-fpwでWikipedia-jaのデータを変換 - Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/botesan/wik-asterisk-fpw botesan/wik-asterisk-fpw: Wik* (Wiktionary etc) FreePWING converters. Base wikipedia-fpw.]&amp;lt;/ref&amp;gt; or FreeUWING&amp;lt;ref&amp;gt;[http://green.ribbon.to/~ikazuhiro/dic/files/wikipedia-fuw-20091202-src.tar.gz wikipedia-fuw-20091202-src.tar.gz - Index of /~ikazuhir/dic/files - green.ribbon.to]&amp;lt;/ref&amp;gt;, the latter FreeUWING, being a variant that uses UTF-8 extensions which the FreePWING lacked, as Unicode format wasn't standardized nor widespread.&lt;br /&gt;
&lt;br /&gt;
The format is also seen its use as a conversion to [https://github.com/yomidevs/yomitan yomitan]/[https://github.com/FooSoft/yomichan yomichan] web browser extension/add-on, notably via FooSoft's [https://github.com/FooSoft/zero-epwing zero-epwing] that aims to convert specific electronic EPWING formatted dictionaries into a JSON format suitable for on-screen pop-up translation. Aedict also supports [https://mvysny.github.io/aedict-blog/EPWING-Support/ one very specific EPWING dictionary, Daijirin] with the developer citing the same niche format issues.&lt;br /&gt;
&lt;br /&gt;
Despite its flaws, EPWING format is still regarded as a trusted source owing to its traditional use, over the more modern crowd-sourced citations.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://ebstudio.info/manual/EBStudio2/EBStudio2.html EBStudio] - (Windows) Used to create EPWING electronic reference materials.&lt;br /&gt;
* [ftp://ftp.sra.co.jp/pub/misc/freepwing freepwing on SRA's FTP server] - (Unix-like) Used to create EPWING electronic reference materials, mainly through scripting.&lt;br /&gt;
* [http://green.ribbon.to/~ikazuhiro/dic/freeuwing.html FreeUWING - FreePWING with JIS X 4081 UTF-8 extension] - (Unix-like) same as FreePWING but with UTF-8 extensions.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Talk:EBZip</id>
		<title>Talk:EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Talk:EBZip"/>
				<updated>2025-09-02T18:46:28Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* LZMA benchmarks against other compression/utilities */ Typos and wording.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; caveats ==&lt;br /&gt;
Intended to be a place to note down issues, as well as tips and tricks with &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Hardcoded to look specifically for a file that begins with &amp;lt;code&amp;gt;&amp;quot;CATALOGS&amp;quot;&amp;lt;/code&amp;gt; (case-insensitive), or &amp;lt;code&amp;gt;&amp;quot;CATALOGS.ebz&amp;quot;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Custom dictionaries doesn't always follow standard convention to store their content(s), like having &amp;quot;&amp;lt;code&amp;gt;START.ebz&amp;lt;/code&amp;gt;&amp;quot; in the top level. Even if they do, they may also compress &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; as &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;.&amp;quot; &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt; specifically looks for either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and either decompress or compress the files specified within, per user's request, e.g. &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will tell it to decompress and rename any of the listed files that are noted in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and has &amp;quot;&amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt;&amp;quot; extension, ignoring any other files in the same path, and doesn't decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; even if instructed. There are ways to workaround that:&lt;br /&gt;
&lt;br /&gt;
==== Decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; ====&lt;br /&gt;
In my case,&lt;br /&gt;
* Simply rename the decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; to something like &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Copy the &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; there, but have it named as &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Run decompression via the usual &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; from the top level where it doesn't contain &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot; but only &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Once decompressed, move decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; (not &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;) back to where &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; was, have it renamed as &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Rename &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot; back to &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
Optionally, delete &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; considering that is now redundant.&lt;br /&gt;
&lt;br /&gt;
==== Decompress other &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; that were not listed ====&lt;br /&gt;
Same as above, but instead of copying, you can just move it, as,&lt;br /&gt;
* &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will only look for &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and&lt;br /&gt;
* It saves having to manually delete the redundant file(s) afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Zero-length (un)compressed files not overwritten upon manual intervention ===&lt;br /&gt;
When a path that has zero-length files, but are listed in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; for instance may not overwrite it. This may also apply if &amp;lt;code&amp;gt;ebzip -uf&amp;lt;/code&amp;gt; is used. To fix this, just delete the zero-length files, ensuring that they have a duplicate file that does not have &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, then re-run the command. When compressing, the opposite is true, to look for duplicate zero-length files with &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, delete them and run the utility to compress instead.&lt;br /&gt;
&lt;br /&gt;
On modern [[Linux]] environments, these could be achieved via the following:&lt;br /&gt;
&lt;br /&gt;
==== Enumerating ====&lt;br /&gt;
  find . -size 0 -type f&lt;br /&gt;
&lt;br /&gt;
==== Deleting ====&lt;br /&gt;
  find . -size 0 -type f -exec sudo rm -iv &amp;quot;{}&amp;quot; \;&lt;br /&gt;
Care must be taken to avoid any potential losses when running this command.&lt;br /&gt;
&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 10:10, 18 August 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
== LZMA benchmarks against other compression/utilities ==&lt;br /&gt;
In response to maintainer of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt;'s blog entry,&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/article.php/20190701203038572 EPWINGを圧縮する (libdeflateで) / Compressing EPWING via libdeflate - Kazuhiro's blog]&amp;lt;/ref&amp;gt; I decided to run a couple of benchmarks with different dictionaries, books or other referencing materials on my end. The following packages and their versions are as follows; kernel-6.15.8, zlib-1.3.1, libdeflate-1.24, xz-5.4.2, dwarfs-0.12.4, squashfs-tools-4.7.1.&lt;br /&gt;
&lt;br /&gt;
=== zlib versus libdeflate versus LZMA benchmark (single electronic book) ===&lt;br /&gt;
For the following, file sizes are reported from &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;, therefore size would be reported in blocks&amp;lt;ref&amp;gt;[https://unix.stackexchange.com/questions/28780/file-block-size-difference-between-stat-and-ls file block size - difference between stat and ls - Unix &amp;amp; Linux - Stack Exchange]&amp;lt;/ref&amp;gt;. The tested dictionaries using no compression, zlib, libdeflate, or [[XZ]] are [[tar|tarballed]] for consistency. For compressed file systems, XZ's LZMA2 is used. Both zlib and libdeflate has a maximum compression level of 5, anything beyond 5 would result in error, however XZ goes up to level 9, and has further options like &amp;lt;code&amp;gt;--extreme&amp;lt;/code&amp;gt; as well as various other tweaks which I will keep it simple and use &amp;lt;code&amp;gt;xz -9evv&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
[[DWARFS]] example parameters:&lt;br /&gt;
  mkdwarfs --input . --output=../JMdict_eng_2021-02-26_UTC.dwarfs --block-size-bits=26 --compression=lzma:level=9:extreme --schema-compression=lzma:level=9:extreme --metadata-compression=lzma:level=9:extreme --no-history \&lt;br /&gt;
  --pack-metadata=all,force --file-hash=sha3-512 --no-history-timestamp --no-create-timestamp --no-history-command-line&lt;br /&gt;
&lt;br /&gt;
[[SquashFS]] example parameters:&lt;br /&gt;
  mksquashfs . ../JMdict_eng_2021-02-26_UTC.squashfs -b 1048576 -comp xz -Xdict-size 100% -progress -info -no-xattrs&lt;br /&gt;
&lt;br /&gt;
Percentages are rounded to two decimal points, otherwise rounded up. Compression ratio against uncompressed in percentage is offered instead.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| [[EBZip#Sample_file|kanjidic]]&lt;br /&gt;
| NHKAccent&lt;br /&gt;
| Eijiro&lt;br /&gt;
| Kenkyusha eiwa daijiten v6&lt;br /&gt;
| Kenkyusha waei daijiten v5&lt;br /&gt;
|-&lt;br /&gt;
| ''No compression''&lt;br /&gt;
| 130,385,920&lt;br /&gt;
| 1,578,055,680&lt;br /&gt;
| 1,374,771,200&lt;br /&gt;
| 484,945,920&lt;br /&gt;
| 328,192,000&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebuzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(zlib)&lt;br /&gt;
| 42,035,200&lt;br /&gt;
| 1,393,920,000&lt;br /&gt;
| 379,975,680&lt;br /&gt;
| 117,596,160&lt;br /&gt;
| 109,721,600&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 32.24%&lt;br /&gt;
| 88.33%&lt;br /&gt;
| 27.63%&lt;br /&gt;
| 24.25%&lt;br /&gt;
| 33.43%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebuzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(libdeflate)&lt;br /&gt;
| 40,171,520&lt;br /&gt;
| 1,383,505,920&lt;br /&gt;
| 353,269,760&lt;br /&gt;
| 107,765,760&lt;br /&gt;
| 102,113,280&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 30.81%&lt;br /&gt;
| 87.67%&lt;br /&gt;
| 25.70%&lt;br /&gt;
| 22.22%&lt;br /&gt;
| 31.11%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,608&lt;br /&gt;
| 1,350,900,536&lt;br /&gt;
| 197,134,768&lt;br /&gt;
| 55,220,788&lt;br /&gt;
| 50,109,852&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.61%&lt;br /&gt;
| 14.34%&lt;br /&gt;
| 11.39%&lt;br /&gt;
| 15.27%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T0&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,616&lt;br /&gt;
| 1,351,560,168&lt;br /&gt;
| 202,934,760&lt;br /&gt;
| 56,670,664&lt;br /&gt;
| 50,747,640&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.65%&lt;br /&gt;
| 14.76%&lt;br /&gt;
| 11.69%&lt;br /&gt;
| 15.46%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[DWARFS|dwarfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 22,145,746&lt;br /&gt;
| 1,353,699,364&lt;br /&gt;
| 212,307,176&lt;br /&gt;
| 60,043,728&lt;br /&gt;
| 54,541,980&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.99%&lt;br /&gt;
| 85.78%&lt;br /&gt;
| 15.44%&lt;br /&gt;
| 12.38%&lt;br /&gt;
| 16.62%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[SquashFS|squashfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 31,793,152&lt;br /&gt;
| 1,367,302,144&lt;br /&gt;
| 272,068,608&lt;br /&gt;
| 81,805,312&lt;br /&gt;
| 160,956,416&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 24.38%&lt;br /&gt;
| 86.64%&lt;br /&gt;
| 19.79%&lt;br /&gt;
| 16.87%&lt;br /&gt;
| 49.04%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
XZ compression results are provided for the sake of discussion only, more on this in conclusion. While it does show extremely good results against all other utilities, the seek times are abysmally poor, worse than DWARFS with LZMA2 on machines with weaker hardware. Tests confirms liblzma having better compression regardless, against both zlib and libdeflate.&lt;br /&gt;
&lt;br /&gt;
NHKAccent is the exception here, with poor compression results. This is due to electronic book containing multimedia files, which won't compress well if it was already compressed.&lt;br /&gt;
&lt;br /&gt;
It is worthy to note here that compression/archiving utilities embracing liblzma, could by default take advantage of multi-threading, at the expense of producing potentially larger file. This however, is a small trade off, for effectively making full use of available CPU in the given environment.&lt;br /&gt;
&lt;br /&gt;
=== Modern compressed file system with multiple electronic books shootout ===&lt;br /&gt;
Author of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt; mentioned the case with smartphones, which I do personally find that these are also limited in performance, not just with storage capacities. [[SquashFS]] was or is used in Android devices,&amp;lt;ref&amp;gt;[https://android.stackexchange.com/questions/258236/squashfs-explanation-for-android-system SquashFS explanation for Android system - Android Enthusiasts - Stack Exchange]&amp;lt;/ref&amp;gt; so it makes sense to try using that on non system files in addition.&lt;br /&gt;
&lt;br /&gt;
For these tests, the sample data consists of ~189 dictionaries in a single directory. Both [[DWARFS]] and [[SquashFS]] are configured to use XZ's LZMA2 where possible, as it is known to be one of the best, freely available (especially under Unix-like platforms) compression. Both DWARFS and SquashFS parameters are the same as in prior section. Due to the inherent way of how &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; works, requiring &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; to be in the top directory, both variations of &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; using either zlib or libdeflate are omitted from this test. Besides, single compression job per dictionary, not including other files in the that path, e.g. &amp;quot;&amp;lt;code&amp;gt;START&amp;lt;/code&amp;gt;&amp;quot; would make the overall process time consuming, if the process isn't already tedious that it requires extensive scripting.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Method&lt;br /&gt;
| Size (blocks)&lt;br /&gt;
|-&lt;br /&gt;
| Uncompressed&amp;lt;br /&amp;gt;[[tar]]&lt;br /&gt;
| 29,014,026,240&lt;br /&gt;
|-&lt;br /&gt;
| [[DWARFS]]&lt;br /&gt;
| 10,613,886,184&lt;br /&gt;
|-&lt;br /&gt;
| [[SquashFS]]&lt;br /&gt;
| 12,269,518,848&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where DWARFS shines, is the ability to also save on segmenting data, in addition to file de-duplication. For a small penalty I've given to DWARFS, in that it is to use sha3-512 as hash, it still compresses the collection better and faster, than SquashFS. Then again, the focus here is on overall file size, not performance in file creation.&lt;br /&gt;
&lt;br /&gt;
=== Conclusion ===&lt;br /&gt;
Now of course, there are plenty of other compression utilities available, such as, but are not limited to [[Zstandard]], [[BZip3]], [[LZO]], etc. From the various results I have read, indicates that these other compression benchmarks, while trading better performance, these fall behind in final size constraints. The benchmark showcase here outlines the need to have as small of a compressed file as possible, with modern compression utilities and modern PC hardware, therefore making (speed-wise) performance testing out of the scope, as is the idea of creating the likes of [[ZIP]] bombs, or nested compressed files out of the scope.&lt;br /&gt;
&lt;br /&gt;
I have also tried to run &amp;lt;code&amp;gt;mkfs.[[EROFS|erofs]]&amp;lt;/code&amp;gt; in order to include it against the modern compressed file system with multiple dictionaries shootout. With version 1.8.10, no matter what parameters I set with LZMA &amp;lt;code&amp;gt;level=9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;level=109&amp;lt;/code&amp;gt; (109 is the extreme variant), even with lowering &amp;lt;code&amp;gt;dictsize=&amp;lt;/code&amp;gt;, the results would cause system to run out of memory (16GB of RAM) before even completing the file system creation.&lt;br /&gt;
&lt;br /&gt;
These benchmarks are in no way discrediting or disavowing the use of libdeflate over zlib. If file size is a concern, more modern compression algorithms and/or compression techniques could be considered. Modern EPWING viewer programs generally don't care if the electronic book is compressed using zlib or not compressed at all, and there are many ways of handling decompression transparently in modern Unix-like environments. Even more so, are the ever growing hardware performance as well as affordability with storage capacities in modern computing, questions the use of the what is widely considered as legacy compression algorithms for data archival. Last but not least, while single-threaded compression (as witnessed in the likes of &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt; above) or tasks might be extremely beneficial in reducing overheads, especially with LZMA2, it is also a slow process which may subsequently not translate well in modern, demanding contexts, where time honored traditions are casted away for practical, convenient, modernized, and easy to use solutions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 18:46, 2 September 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EBZip</id>
		<title>EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EBZip"/>
				<updated>2025-09-02T18:42:51Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Restructured content due to separation of EPWING into its own page. Split EBUZip into its own section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Compression&lt;br /&gt;
|extensions={{ext|ebz}}&lt;br /&gt;
|compression=lossless&lt;br /&gt;
|magic=45 42 5a 69 70 15 00 00 00 00 00 00 10 00 8b e8&lt;br /&gt;
|released=1999&amp;lt;ref&amp;gt;[https://web.archive.org/web/20010619200710/http://www.sra.co.jp/people/m-kasahr/eb/ChangeLog-ja.html ChangeLog - SRA website mirrored on Internet Archive]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{notice|1=Majority of the links/citations are in Japanese.}}&lt;br /&gt;
&lt;br /&gt;
'''Electronic Book Zip or EBZip''' is a compression format used in electronic dictionaries that were distributed primarily on compact discs (CD). It is also one of the many frontend utilities that uses the EB library for manipulating [[EPWING]] format. &lt;br /&gt;
&lt;br /&gt;
The electronic dictionaries stored on computers eliminates the need to have physical media, and allows remote referencing if it was connected to a network, using the likes of &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ebnetd&amp;lt;/code&amp;gt; for instance. It is likely that compression was needed due to the fact that hard disks were expensive compared to compact discs, when having a number of electronic dictionaries stored on a computer, it made little sense to retain physical media just to reference a number of words every so often, and to juggle around ejecting/inserting discs into the computer. For the expense of sacrificing few CPU cycles and potentially insignificant amount of memory, these electronic dictionaries could be made to take less storage space&amp;lt;ref&amp;gt;[https://web.archive.org/web/20170705202139/http://sci.lang.japan.narkive.com/X84h0clT/kenkyusha-dictionary-cd-and-epwing#post2 Kenkyusha dictionary CD and EPWING - sci.lang.japan NARKIVE - Internet Archive copy]&amp;lt;/ref&amp;gt;, and allows faster dictionary lookups due to hard disks allowing random access.&lt;br /&gt;
&lt;br /&gt;
The compression is lossless, initially using a modified [https://www.zlib.net/ zlib]&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/blob/742248c23cf7769d0fed412cbce458222a437795/zlib/README.altered Last version released with internal zlib - README.altered - version 4.1.3 - Misty De Méo]&amp;lt;/ref&amp;gt;, then likely unmodified zlib by the original &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; author&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/commit/742ddab4f255b7c34d7d1f1b4e3fd245bfc3ea18 Internal zlib removed - Commit 742ddab (4.2) - Misty De Méo]&amp;lt;/ref&amp;gt;. Do keep in mind that not everything is compressed, EBZ format is not a container like [[ZIP]] for instance, selected files (typically &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;) are compressed and have their filenames bearing these extensions, e.g. &amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
EB-like software for Unix-like began circulating on Japanese Usenet as early as September 1991 in the form of [[shar]] by Shingo Nishioka of Osaka University.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=NISHIOKA.91Sep3191513@sp4.sanken.osaka-u.ac.jp dserver/Electronic Book Dictionary server &amp;amp; clients (1/2) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=NISHIOKA.91Sep3191550@sp4.sanken.osaka-u.ac.jp dserver/Electronic Book Dictionary server &amp;amp; clients (2/2) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Versions before 2.1beta of &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; lacked compression, which was introduced as early as 1996-03-25 by Yura Shunsuke.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=4j5h0e$2am@isnews.is.s.u-tokyo.ac.jp dserver 2.1-beta patch for compressed dictionary - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Gradually over time, Motoyuki Kasahara, a member of Software Research Associates (SRA) and the author of EB Library, began developing &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt; which handles electronic dictionary or dictionaries over the network, replacing &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5rp4qp$3sk$1@sranhh.sra.co.jp BookView 1.0 - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sctc3$irv$2@sranhh.sra.co.jp BookView 1.0.2 (Re: BookView 1.0) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=64emm8$mcf$1@sranhh.sra.co.jp BookView 1.1 (1/3) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; The first release of such software was around 1997-06-04 as &amp;lt;code&amp;gt;ndtpd-1.0beta0&amp;lt;/code&amp;gt; (via FTP) with which it included &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; which was a library. Earliest release on fj.sources was 1997-08-07 as &amp;lt;code&amp;gt;ndtpd-1.0&amp;lt;/code&amp;gt;, which also describes the relationship between &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt;, as [[shar]].&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4ns$31a$2@sranhh.sra.co.jp ndtpd 1.0 (0/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4pr$3o1$1@sranhh.sra.co.jp ndtpd 1.0 (1/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4rn$3o1$2@sranhh.sra.co.jp ndtpd 1.0 (2/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4te$3o1$3@sranhh.sra.co.jp ndtpd 1.0 (3/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4vf$3o1$4@sranhh.sra.co.jp ndtpd 1.0 (4/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc514$3o1$5@sranhh.sra.co.jp ndtpd 1.0 (5/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc52p$3o1$6@sranhh.sra.co.jp ndtpd 1.0 (6/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc54s$3o1$7@sranhh.sra.co.jp ndtpd 1.0 (7/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc55j$3o1$8@sranhh.sra.co.jp ndtpd 1.0 (8/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc56d$3o1$9@sranhh.sra.co.jp ndtpd 1.0 (9/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Until the release of &amp;lt;code&amp;gt;ndtpd-3.0alpha0&amp;lt;/code&amp;gt; (2000-06-04), &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; has always been included. EB Library began as a separate project with the first release in 1999-06-16 as &amp;lt;code&amp;gt;eb-2.2&amp;lt;/code&amp;gt;. Both of these projects continued until the discontinuation of &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt; (as a release) on 2003-05-24 with the version 3.1.5. &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; remained to be maintained until 2010-03-08 with the version 4.4.3. &lt;br /&gt;
&lt;br /&gt;
== EBUZip ==&lt;br /&gt;
EBUZip is a fork of EBZip that is maintained by Ito Kazuhiro. The 'U' in EBUZip denotes the ability to support JIS X 4081 UTF-8 extensions provided that it is compiled and configured correctly. It also brings in new features that differs from EBZip such as,&lt;br /&gt;
* The ability to use libdeflate algorithm at compile time, which, &amp;quot;is a library for fast, whole-buffer DEFLATE-based compression and decompression.&amp;quot;&amp;lt;ref&amp;gt;[https://github.com/ebiggers/libdeflate?tab=readme-ov-file#overview README.md Overview section - libdeflate - GitHub]&amp;lt;/ref&amp;gt;, which was added on 2019-06-30.&amp;lt;ref&amp;gt;[http://green.ribbon.to/~ikazuhiro/dic/ebu.html EB Library with UTF-8 extension]&amp;lt;/ref&amp;gt;. Additionally, the new maintainer provided benchmark results against uncompressed, zlib and libdeflate.&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/article.php/20190701203038572 Compressing EPWING (using libdeflate)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Fixes to work on a newer codebase, as opposed to maintaining a series of patches on top of libeb.&amp;lt;ref&amp;gt;[https://sources.debian.org/data/main/e/eb/4.4.3-14/debian/patches/010_debian.patch 010_debian.patch - eb-4.4.3-14 - sources.debian.org]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mr. Kazuhiro have also previously contributed to Mr. Kasahara's EBZip project, on 2000-06-24.&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/blob/master/ChangeLog.1#L1371 ChangeLog.1 (line 1371) - EB Library - Misty De Méo]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
A &amp;lt;code&amp;gt;EBZ&amp;lt;/code&amp;gt; file begins with bytes {{magic|45 42 5a 69 70 15 00 00 00 00 00 00 10 00 8b e8}}.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
'''These must be executed in the top level of (book) directory that contains &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt; file, otherwise it will default to your current directory &amp;lt;code&amp;gt;$(pwd)&amp;lt;/code&amp;gt;.''' See [[EPWING#Content structure]] for the directory structure of book layout.&lt;br /&gt;
If you are using EBUZip, the name of the compiled binary is &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt;, as opposed to &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Show information about the file:&lt;br /&gt;
  ebzip --information&lt;br /&gt;
Decompress files:&lt;br /&gt;
  ebzip --uncompress wikipedia-fpw&lt;br /&gt;
Compress files:&lt;br /&gt;
  ebzip wikipedia-fpw&lt;br /&gt;
Test files:&lt;br /&gt;
  ebzip --test wikipedia-fpw&lt;br /&gt;
Show help:&lt;br /&gt;
  ebzip --help&lt;br /&gt;
&lt;br /&gt;
== Sample file ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Filename&lt;br /&gt;
| Main server download link&lt;br /&gt;
| Mirror server download link&lt;br /&gt;
| Notes&lt;br /&gt;
|-&lt;br /&gt;
| kanjidic_en.fpwebz.tar&lt;br /&gt;
| [http://ftp.edrdg.org/pub/Nihongo/edict_en.fpwebz.tar EDRDG.org]&lt;br /&gt;
| [http://ftp.usf.edu/pub/ftp.monash.edu.au/pub/nihongo/kanjidic_en.fpwebz.tar USF.edu]&lt;br /&gt;
| Use [[7-Zip]] to open on Windows machines for instance, otherwise [[Tar]] should suffice.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software (mostly Japanese only) ==&lt;br /&gt;
See also: [[Wikipedia:ja:EPWING#検索ソフトウェア]]&lt;br /&gt;
* Windows&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/WinEBZip-0.0.exe WinEBZip.exe on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/WinEBZip-0.0.zip WinEBZip.zip on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [https://ebstudio.info/manual/EBWin4/EBWin4.html EBWin4]&lt;br /&gt;
* Linux&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/ EB Library directory on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [http://green.ribbon.to/~ikazuhiro/dic/ebu.html EBU - EB Library with JIS X 4081 UTF-8 extension]&lt;br /&gt;
** [https://github.com/mvf/qolibri qolibri EPWING dictionary viewer]&lt;br /&gt;
&lt;br /&gt;
== Links (mostly Japanese only) ==&lt;br /&gt;
* [[Wikipedia:ja:電子ブック (規格)]]&lt;br /&gt;
* [https://web.archive.org/web/20010606001016/http://www.sra.co.jp/people/m-kasahr/eb/index-ja.html Internet Archive's mirror of EB Library that was hosted on SRA's website]&lt;br /&gt;
* [http://green.ribbon.to/~ikazuhiro/dic/ebu.html EBU]&lt;br /&gt;
&lt;br /&gt;
== References (mostly Japanese only) ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Electronic_Publishing_formats</id>
		<title>Electronic Publishing formats</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Electronic_Publishing_formats"/>
				<updated>2025-09-02T18:19:29Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* E-book formats */ Added EPWING page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|thiscat=Electronic Publishing formats&lt;br /&gt;
|image=Book.jpg&lt;br /&gt;
}}&lt;br /&gt;
Formats specific to the storage and transmission of publications in electronic form.&lt;br /&gt;
&lt;br /&gt;
For ''desktop publishing'', see [[Document#Desktop Publishing]].&lt;br /&gt;
&lt;br /&gt;
== Dictionaries, encyclopedias, etc. ==&lt;br /&gt;
* [[AARD]] [http://aarddict.org/1/index.html]&lt;br /&gt;
* [[Apple dictionary]] [https://josephg.com/blog/reverse-engineering-apple-dictionaries/] [https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/DictionaryServicesProgGuide/Introduction/Introduction.html]&lt;br /&gt;
* [[BGL]] (Babylon)&lt;br /&gt;
* [[CC-CEDICT]]&lt;br /&gt;
* [[Dic]] (Babylon) [http://ktranslator.sourceforge.net/dictionaries.html]&lt;br /&gt;
* [[Dictd]]&lt;br /&gt;
* [[Lingvo DSL]] [https://beijer.uk/software/dsl_abbyy_linvgvo]&lt;br /&gt;
* [[Ling]] [http://linguae.stalikez.info/]&lt;br /&gt;
* [[Lingoes]] [http://lingoes.net/]&lt;br /&gt;
* [[Mdict MDX]] [https://www.mdict.cn/wp/?lang=en]&lt;br /&gt;
* [[Mova]] [http://jalingo.sourceforge.net/dictionaries/]&lt;br /&gt;
* [[ODict]] [https://odict.org/]&lt;br /&gt;
* [[Slob]] [https://github.com/itkach/slob]&lt;br /&gt;
* [[SDictionary]] [http://swaj.net/sdict/index.html] [http://ktranslator.sourceforge.net/dictionaries.html]&lt;br /&gt;
* [[StarDic]]&lt;br /&gt;
* [[StarDict]]&lt;br /&gt;
* [[SugarDict]]&lt;br /&gt;
* [[XDXF]]&lt;br /&gt;
&lt;br /&gt;
== E-book formats ==&lt;br /&gt;
&lt;br /&gt;
* [[AZW]]&lt;br /&gt;
* [[Daisy]]&lt;br /&gt;
* [[DocBook]]&lt;br /&gt;
* [[EPUB]]&lt;br /&gt;
* [[EPWING]]&lt;br /&gt;
* [[IMP (Electronic publishing)|IMP]]&lt;br /&gt;
* [[KFX (Kindle)|KFX]] (Kindle Format X)&lt;br /&gt;
* [[LRF]]&lt;br /&gt;
* [[MOBI]]&lt;br /&gt;
* [[PalmDOC]]&lt;br /&gt;
* [[PDG]] (Superstar)&lt;br /&gt;
* [[Rocket eBook]]&lt;br /&gt;
* [[Shanda Bambook]]&lt;br /&gt;
* [[SiliconPage]]&lt;br /&gt;
* [[TomeRaider]]&lt;br /&gt;
&lt;br /&gt;
== Journals, magazines, newspapers, articles, etc. ==&lt;br /&gt;
* [[Digital Replica Plus]]&lt;br /&gt;
* [[Issuu]]&lt;br /&gt;
* [[Journal Article Tag Suite]] (JATS / NLM)&lt;br /&gt;
* [[News Industry Text Format]]&lt;br /&gt;
* [[ScienceServer XML format]]&lt;br /&gt;
&lt;br /&gt;
== Scanned or archived book formats ==&lt;br /&gt;
&lt;br /&gt;
* [[Comic Book Archive]] (.cbr, .cbz, .cbt, .cba, .cb7)&lt;br /&gt;
* [[HathiTrust submission format]]&lt;br /&gt;
&lt;br /&gt;
== Other formats ==&lt;br /&gt;
&lt;br /&gt;
* [[FlipAlbum]] (.flp)&lt;br /&gt;
* [[OFIP]]&lt;br /&gt;
* [[Onix]] - [https://www.loc.gov/preservation/digital/formats/fdd/fdd000488.shtml LoC Description]&lt;br /&gt;
* [[Open Board Format]] (.obf, .obz)&lt;br /&gt;
* [[Portable Web Publications]]&lt;br /&gt;
* [[RePub]]&lt;br /&gt;
* [[Wordcruncher]] (.etb(u), .erl(u) .etg(u))&lt;br /&gt;
&lt;br /&gt;
See also [[Document]], [[Markup]], and [[Web]], since e-publications might also be stored in formats (such as [[PDF]] and [[HTML]]) in those categories, and e-publishing formats may have roots in those formats.&lt;br /&gt;
&lt;br /&gt;
== Identifiers ==&lt;br /&gt;
&lt;br /&gt;
Naming and numbering systems for identifying published material.&lt;br /&gt;
&lt;br /&gt;
* [[ARK]]&lt;br /&gt;
* [[DOI]]&lt;br /&gt;
* [[ISBN]]&lt;br /&gt;
* [[ISSN]]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://scholasticahq.com/innovations-in-scholarly-publishing/announcement/one-of-the-biggest-bottlenecks-in-open-access-publishing-is-typesetting-it-shouldn-t-be Innovations in Scholarly Publishing - One of the biggest bottlenecks in Open Access publishing is typesetting. It shouldn't be.]&lt;br /&gt;
* [http://apprenticealf.wordpress.com/2012/09/10/calibre-plugins-the-simplest-option-for-removing-most-ebook-drm/ DeDRM plugin for calibre: the simplest option for removing DRM from most ebooks]&lt;br /&gt;
* [http://www.nbcnews.com/tech/gadgets/you-dont-own-your-kindle-books-amazon-reminds-customer-f1C6626211 You don't own your Kindle books, Amazon reminds customer]&lt;br /&gt;
* [http://boingboing.net/2013/10/22/even-amazon-cant-keep-up-the.html Even Amazon can't keep up the &amp;quot;you only license ebooks&amp;quot; shuck]&lt;br /&gt;
* [http://allthingsd.com/20130906/how-a-man-in-austria-used-legos-to-hack-amazons-kindle-e-book-security/ How a Man in Austria Used Legos to Hack Amazon’s Kindle E-Book Security]&lt;br /&gt;
* [http://www.mobileread.com/forums/showpost.php?p=2754561&amp;amp;postcount=319 Adobe is apparently introducing new &amp;quot;hardened&amp;quot; e-book DRM that will break compatibility with older readers]&lt;br /&gt;
* [http://www.the-digital-reader.com/2014/02/03/adobe-require-new-epub-drm-july-expects-abandon-existing-users/ Another article on Adobe DRM move]&lt;br /&gt;
* [http://sourceforge.net/projects/libebook/ libebook: library to read various e-book formats]&lt;br /&gt;
* [http://www.theverge.com/2014/5/9/5688146/the-fight-to-save-endangered-ebooks The fight to save endangered ebooks]&lt;br /&gt;
* [http://www.loc.gov/preservation/resources/rfs/textmus.html Library of Congress Recommended Format Specifications: Textual Works]&lt;br /&gt;
* [http://www.theguardian.com/books/2014/aug/19/readers-absorb-less-kindles-paper-study-plot-ereader-digitisation Readers absorb less on Kindles than on paper, study finds]&lt;br /&gt;
* [http://publishersweekly.com/pw/by-topic/industry-news/libraries/article/64271-check-it-out-with-michael-kelley-how-libraries-preserve-e-books.html Michael Kelley: How Libraries Preserve E-books]&lt;br /&gt;
* [http://the-digital-reader.com/2014/10/06/adobe-spying-users-collecting-data-ebook-libraries/ Adobe is Spying on Users, Collecting Data on Their eBook Libraries]&lt;br /&gt;
* [http://go-to-hellman.blogspot.com/2014/10/correcting-misinformation-on-adobe.html Correcting Misinformation on the Adobe Privacy Gusher]&lt;br /&gt;
* [http://www.theguardian.com/books/booksblog/2012/jun/07/war-and-peace-ebook-nook War and Peace ebook readers find a surprise in its Nooks]&lt;br /&gt;
* [http://vgel.me/posts/cracking-online-textbook/ Getting a full PDF from a DRM-encumbered online textbook]&lt;br /&gt;
* [http://www.trustedreviews.com/how-tos/how-to-remove-drm-from-your-ebooks Removing DRM from e-books]&lt;br /&gt;
* [https://bancroftdigitalcollectionsunit.wordpress.com/2016/03/11/how-to-read-an-ebook-from-1991/ How to Read an e-book…From 1991]&lt;br /&gt;
* [http://blog.kbresearch.nl/2016/04/04/valid-but-not-accessible-epub-crazy-fixed-layouts/ Valid, but not accessible EPUB: crazy fixed layouts]&lt;br /&gt;
* [http://wiki.dpconline.org/images/0/04/EBook_Summary_Assessment_v1.0.pdf File format assessment: eBook Summary (British Library)]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EPWING</id>
		<title>EPWING</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EPWING"/>
				<updated>2025-09-02T18:18:30Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Created page as a split from EBZip as the two are mutually distinct.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Electronic Publishing formats&lt;br /&gt;
|extensions={{noext}}&lt;br /&gt;
|wikidata={{wikidata|Q11197749}}&lt;br /&gt;
|compression=none&lt;br /&gt;
|released=1987&amp;lt;ref&amp;gt;[https://web.archive.org/web/19980214200328/http://www.epwing.or.jp/epwing/admission/index.html#history EP_入会について - 略歴 - EP_About admission - brief history - Internet Archive]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{notice|1=Majority of the links/citations are in Japanese.}}&lt;br /&gt;
&lt;br /&gt;
'''E'''lectronic '''P'''ublishing-WING or EPWING, is a standardized format for electronic reference materials, typically dictionaries that were distributed on CD-ROM for PCs. [[wikipedia:electronic dictionaries|Electronic dictionaries]] in general were also popular in East Asia.&lt;br /&gt;
&lt;br /&gt;
The format itself is largely uncompressed, taking advantage of larger storage capacities CD-ROMs offered over hard disks, and what was the largely unjustifiable cost of storing duplicate data, as well as older PC hardware that have other resource limitations such as slower CPU or less RAM/memory capacities.&lt;br /&gt;
&lt;br /&gt;
== Content structure ==&lt;br /&gt;
EPWING files generally do not have any extensions, with the exception of when they are compressed using the likes of [[EBZip]]. Below is a rough outline describing what it would look like:&lt;br /&gt;
  ├── (top directory)&lt;br /&gt;
  │   ├── Catalogs&lt;br /&gt;
  │   └── (e-book name)&lt;br /&gt;
  │       ├── DATA&lt;br /&gt;
  │       │   └── HONMON&lt;br /&gt;
  │       ├── GAIJI&lt;br /&gt;
  │       │   ├── GAI16F&lt;br /&gt;
  │       │   ├── GAI16H&lt;br /&gt;
  │       │   ├── GAI24F&lt;br /&gt;
  │       │   └── GAI24H&lt;br /&gt;
  │       └── MOVIE&lt;br /&gt;
  │           ├── 0000115&lt;br /&gt;
There are many exceptions to this layout, for instance, the,&lt;br /&gt;
* File named &amp;quot;Catalogs&amp;quot; may be in all caps or all lower-case,&lt;br /&gt;
* &amp;quot;HONMON&amp;quot; may include one or more of similar names, like &amp;quot;HONMON2&amp;quot; or &amp;quot;HONMONG&amp;quot;, etc,&lt;br /&gt;
* &amp;quot;MOVIE&amp;quot; path may or may not exist, depending on the digitized referencing material, subsequently the filenames may also vary.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
EPWING was a consortium of five members; Iwanami Shoten, Dai Nippon Printing, Toppan Printing, Fujitsu and Sony, produced the Electronic Book (EB) extension based on WING standard in circa 1991, with the aim to promote electronic publications in a common format, and to standardize WING onto ISO 9660 (the logical format for CD-ROMs), establishing the first edition (V1) of the EPWING convention.&amp;lt;ref&amp;gt;[[Wikipedia:ja:EPWING#成立の経緯]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modern use and alternatives ==&lt;br /&gt;
The format is still in use by users who have been accustomed to the software, however it is considered to be a niche crowd when compared to [[StarDict]]. It might be better known through the use of EB library's [[EBZip]] utility, which offers lossless, &amp;quot;transparent-like&amp;quot; compression that seamlessly works with modern EPWING reader software, without the need to decompress first before using the data.&lt;br /&gt;
&lt;br /&gt;
As the format was intended for digitized hardcopies of published books, it is possible to create your own electronic referencing materials in EPWING format. A common example is Wikipedia where the user runs either a pre-made FreePWING&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/staticpages/index.php/wikipedia-fpw wikipedia-fpw Kazuhiro's blog]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://msakamoto-sf.github.io/oldwebarchive/glamenv-septzen/view-609.html 日記/2010/03/08/FreePWING, wikipedia-fpwでWikipedia-jaのデータを変換 - Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/botesan/wik-asterisk-fpw botesan/wik-asterisk-fpw: Wik* (Wiktionary etc) FreePWING converters. Base wikipedia-fpw.]&amp;lt;/ref&amp;gt; or FreeUWING&amp;lt;http://green.ribbon.to/~ikazuhiro/dic/files/wikipedia-fuw-20091202-src.tar.gz wikipedia-fuw-20091202-src.tar.gz - Index of /~ikazuhir/dic/files - green.ribbon.to]&amp;lt;/ref&amp;gt;, the latter FreeUWING, being a variant that uses UTF-8 extensions which the FreePWING lacked, as Unicode format wasn't standardized nor widespread.&lt;br /&gt;
&lt;br /&gt;
The format is also seen its use as a conversion to [https://github.com/yomidevs/yomitan yomitan]/[https://github.com/FooSoft/yomichan yomichan] web browser extension/add-on, notably via FooSoft's [https://github.com/FooSoft/zero-epwing zero-epwing] that aims to convert specific electronic EPWING formatted dictionaries into a JSON format suitable for on-screen pop-up translation. Aedict also supports [https://mvysny.github.io/aedict-blog/EPWING-Support/ one very specific EPWING dictionary, Daijirin] with the developer citing the same niche format issues.&lt;br /&gt;
&lt;br /&gt;
Despite its flaws, EPWING format is still regarded as a trusted source owing to its traditional use, over the more modern crowd-sourced citations.&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://ebstudio.info/manual/EBStudio2/EBStudio2.html EBStudio] - (Windows) Used to create EPWING electronic reference materials.&lt;br /&gt;
* [ftp://ftp.sra.co.jp/pub/misc/freepwing freepwing on SRA's FTP server] - (Unix-like) Used to create EPWING electronic reference materials, mainly through scripting.&lt;br /&gt;
* [http://green.ribbon.to/~ikazuhiro/dic/freeuwing.html FreeUWING - FreePWING with JIS X 4081 UTF-8 extension] - (Unix-like) same as FreePWING but with UTF-8 extensions.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/PC_Screen_Font</id>
		<title>PC Screen Font</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/PC_Screen_Font"/>
				<updated>2025-08-24T20:33:10Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Added magic bytes for FormatInfo with reference as links. Updated links to https. Added discmaster.textfiles.com link for Sample files section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Fonts&lt;br /&gt;
|extensions={{ext|psf}}, {{ext|psfu}}&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/linux#L60 36 04] (version 1)&amp;lt;br /&amp;gt;[https://github.com/file/file/blob/master/magic/Magdir/linux#L60 72 b5 4a 86 00 00] (version 2)&lt;br /&gt;
|released=~1989&lt;br /&gt;
}}&lt;br /&gt;
The '''PC Screen Font''' ('''PSF''') format is a fixed-width bitmap font format originally used on the PC under MS-DOS. It was subsequently adopted and extended for Linux console fonts.&lt;br /&gt;
&lt;br /&gt;
PSF has been extended to support [[Unicode]]. The '''.psfu''' file extension is sometimes used to indicate that the file includes Unicode mappings, though '''.psf''' files often have them as well.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
Files begin with bytes {{magic|0x36 0x04}} (version 1) or {{magic|0x72 0xb5 0x4a 0x86}} (version 2). The former may be a reference to [[vfont]] format, the magic number of which is 0436 when converted to octal.&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* https://aeb.win.tue.nl/linux/kbd/font-formats-1.html&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [https://www.seasip.info/Unix/PSF/ PSF Tools]&lt;br /&gt;
* {{Deark}}&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://packages.debian.org/stable/console-setup-linux console-setup-linux package] → console-setup-linux_*.deb → /usr/share/consolefonts/*.psf.gz&lt;br /&gt;
* {{DexvertSamples|font/pcScreenFont}}&lt;br /&gt;
* [https://discmaster.textfiles.com/search?mode=deep&amp;amp;extension=psf&amp;amp;format=pcScreenFont Search results of files with PSF extension and has format pcScreenFont - Discmaster.textfiles.com]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Wikipedia: PC Screen Font]]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/SoundFont_2.0</id>
		<title>SoundFont 2.0</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/SoundFont_2.0"/>
				<updated>2025-08-24T20:02:46Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Provided magic in FormatInfo template and a reference link. Partly updated the identification to include the hex detail. Updated links, old http/ftp links are no longer accessible, and rough replacements has been provided in lieu.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
 | subcat = Audio and Music&lt;br /&gt;
 | magic = [https://github.com/file/file/blob/master/magic/Magdir/riff#L678 73 66 62 6b] (at offset 0x08)&lt;br /&gt;
 | extensions = {{ext|sf2}}&lt;br /&gt;
}}&lt;br /&gt;
'''SoundFont 2.0''' is a format used to store instrument patches for [[MIDI]] synthesisers. The SoundFont 2.0 format is based on [[RIFF]]; the RIFF type identifier is {{magic|&amp;quot;sfbk&amp;quot;}}.&lt;br /&gt;
&lt;br /&gt;
See also [[SoundFont 1.0]].&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
Files begin with {{magic|52 49 46 46}} which in ASCII is &amp;quot;{{magic|RIFF}}&amp;quot;, and have {{magic|73 66 62 6b}} or in ASCII &amp;quot;{{magic|sfbk}}&amp;quot; at offset 8.&lt;br /&gt;
&lt;br /&gt;
In most cases, this is followed by &amp;quot;{{magic|LIST}}&amp;quot; at offset 12, &amp;quot;{{magic|INFOifil}}&amp;quot; at offset 20, and bytes {{magic|02 00}} at offset 32. The last &amp;lt;code&amp;gt;02&amp;lt;/code&amp;gt; byte distinguishes major version 2 from [[SoundFont 1.0|major version 1]].&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [http://www.swamiproject.org/ Swami]&lt;br /&gt;
* [https://www.fluidsynth.org/ FluidSynth]&lt;br /&gt;
* [https://audacious-media-player.org/ Audacious]&amp;lt;ref&amp;gt;[https://redmine.audacious-media-player.org/boards/1/topics/1143?r=1146#message-1146 How-to: MIDI playback - Audacious - OLD, PLEASE USE GITHUB DISCUSSIONS/ISSUES - redmine.audacious-media-player.org]&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* [https://web.archive.org/web/20160308112401/http://freepats.zenvoid.org/sf2/acoustic_grand_piano_ydp_20080910.sf2 acoustic_grand_piano_ydp_20080910.sf2 - freepats.zenvoid.org - Internet Archive copy]&lt;br /&gt;
* [https://web.archive.org/web/20241220060025/http://www.personalcopy.com/Downloads/PC51f.sf2.gz PC51f.sf2.gz - www.personalcopy.com - Internet Archive copy] - File might be compressed twice.&lt;br /&gt;
* {{DexvertSamples|audio/soundFont2}}&lt;br /&gt;
* [https://discmaster.textfiles.com/search?mode=deep&amp;amp;extension=.sf2&amp;amp;format=soundFont2 Search results of files with SF2 extension and has format soundFont2 - Discmaster.textfiles.com]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[wikipedia:SoundFont|SoundFont on Wikipedia]]&lt;br /&gt;
* [https://docs.fileformat.com/audio/sf2/ SF2 File Format - SoundFont 2 Sound Bank - docs.fileformat.com]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:RIFF based file formats]]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/EBZip</id>
		<title>EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/EBZip"/>
				<updated>2025-08-20T12:21:59Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Updated magic.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Compression&lt;br /&gt;
|extensions={{ext|ebz}}&lt;br /&gt;
|wikidata={{wikidata|Q11197749}} (EPWING format only)&lt;br /&gt;
|compression=lossless&lt;br /&gt;
|magic=45 42 5a 69 70 15 00 00 00 00 00 00 10 00 8b e8&lt;br /&gt;
|released=1999&amp;lt;ref&amp;gt;[https://web.archive.org/web/20010619200710/http://www.sra.co.jp/people/m-kasahr/eb/ChangeLog-ja.html ChangeLog - SRA website mirrored on Internet Archive]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{notice|1=Majority of the links/citations are in Japanese.}}&lt;br /&gt;
&lt;br /&gt;
'''Electronic Book Zip or EBZip''' is a compression format used in electronic dictionaries that were distributed primarily on compact discs (CD). The electronic dictionaries stored on computers eliminates the need to have physical media, and allows remote referencing if it was connected to a network, using the likes of &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ebnetd&amp;lt;/code&amp;gt; for instance. It is likely that compression was needed due to the fact that hard disks were expensive compared to compact discs, when having a number of electronic dictionaries stored on a computer, it made little sense to retain physical media just to reference a number of words every so often, and to juggle around ejecting/inserting discs into the computer. For the expense of sacrificing few CPU cycles and potentially insignificant amount of memory, these electronic dictionaries could be made to take less storage space&amp;lt;ref&amp;gt;[https://web.archive.org/web/20170705202139/http://sci.lang.japan.narkive.com/X84h0clT/kenkyusha-dictionary-cd-and-epwing#post2 Kenkyusha dictionary CD and EPWING - sci.lang.japan NARKIVE - Internet Archive copy]&amp;lt;/ref&amp;gt;, and allows faster dictionary lookups due to hard disks allowing random access.&lt;br /&gt;
&lt;br /&gt;
The compression is lossless, initially using a modified [https://www.zlib.net/ zlib]&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/blob/742248c23cf7769d0fed412cbce458222a437795/zlib/README.altered Last version released with internal zlib - README.altered - version 4.1.3 - Misty De Méo]&amp;lt;/ref&amp;gt;, then likely unmodified zlib by the original &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; author&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/commit/742ddab4f255b7c34d7d1f1b4e3fd245bfc3ea18 Internal zlib removed - Commit 742ddab (4.2) - Misty De Méo]&amp;lt;/ref&amp;gt;. Under a new maintainer, [https://github.com/ebiggers/libdeflate libdeflate] was added on 2019-06-30.&amp;lt;ref&amp;gt;[http://green.ribbon.to/~ikazuhiro/dic/ebu.html EB Library with UTF-8 extension]&amp;lt;/ref&amp;gt; in addition to having [http://green.ribbon.to/~ikazuhiro/dic/jisx4081u.html JIS X 4081 UTF-8 extension] support. Additionally, the new maintainer provided benchmark results against uncompressed, zlib and libdeflate.&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/article.php/20190701203038572 Compressing EPWING (using libdeflate)]&amp;lt;/ref&amp;gt; Do keep in mind that not everything is compressed, EBZ format is not a container like [[ZIP]] for instance, selected files (typically &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;) are compressed and have their filenames bearing these extensions, e.g. &amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Originally intended for electronic dictionaries that were distributed primarily on CD, it is possible to create your own dictionaries using other referencing materials, such as Wikipedia. Modern software transparently handles decompression, eliminating the need to manually decompress.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
EPWING or '''E'''lectronic '''P'''ublishing-WING was a consortium of five members; Iwanami Shoten, Dai Nippon Printing, Toppan Printing, Fujitsu and Sony, produced the Electronic Book (EB) extension based on WING standard in circa 1991, with the aim to promote electronic publications in a common format, and to standardize WING onto ISO 9660 (the logical format for CD-ROMs), establishing the first edition (V1) of the EPWING convention.&amp;lt;ref&amp;gt;[[Wikipedia:ja:EPWING#成立の経緯]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
EB-like software for Unix-like began circulating on Japanese Usenet as early as September 1991 in the form of [[shar]] by Shingo Nishioka of Osaka University.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=NISHIOKA.91Sep3191513@sp4.sanken.osaka-u.ac.jp dserver/Electronic Book Dictionary server &amp;amp; clients (1/2) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=NISHIOKA.91Sep3191550@sp4.sanken.osaka-u.ac.jp dserver/Electronic Book Dictionary server &amp;amp; clients (2/2) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Versions before 2.1beta of &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; lacked compression, which was introduced as early as 1996-03-25 by Yura Shunsuke.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=4j5h0e$2am@isnews.is.s.u-tokyo.ac.jp dserver 2.1-beta patch for compressed dictionary - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Gradually over time, Motoyuki Kasahara, a member of Software Research Associates (SRA) and the author of EB Library, began developing &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt; which handles electronic dictionary or dictionaries over the network, replacing &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5rp4qp$3sk$1@sranhh.sra.co.jp BookView 1.0 - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sctc3$irv$2@sranhh.sra.co.jp BookView 1.0.2 (Re: BookView 1.0) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=64emm8$mcf$1@sranhh.sra.co.jp BookView 1.1 (1/3) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; The first release of such software was around 1997-06-04 as &amp;lt;code&amp;gt;ndtpd-1.0beta0&amp;lt;/code&amp;gt; (via FTP) with which it included &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; which was a library. Earliest release on fj.sources was 1997-08-07 as &amp;lt;code&amp;gt;ndtpd-1.0&amp;lt;/code&amp;gt;, which also describes the relationship between &amp;lt;code&amp;gt;dserver&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt;, as [[shar]].&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4ns$31a$2@sranhh.sra.co.jp ndtpd 1.0 (0/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4pr$3o1$1@sranhh.sra.co.jp ndtpd 1.0 (1/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4rn$3o1$2@sranhh.sra.co.jp ndtpd 1.0 (2/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4te$3o1$3@sranhh.sra.co.jp ndtpd 1.0 (3/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc4vf$3o1$4@sranhh.sra.co.jp ndtpd 1.0 (4/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc514$3o1$5@sranhh.sra.co.jp ndtpd 1.0 (5/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc52p$3o1$6@sranhh.sra.co.jp ndtpd 1.0 (6/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc54s$3o1$7@sranhh.sra.co.jp ndtpd 1.0 (7/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc55j$3o1$8@sranhh.sra.co.jp ndtpd 1.0 (8/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://katsu.watanabe.name/ancientfj/article.php?mid=5sc56d$3o1$9@sranhh.sra.co.jp ndtpd 1.0 (9/9) - AncientFJ - katsu.watanabe.name]&amp;lt;/ref&amp;gt; Until the release of &amp;lt;code&amp;gt;ndtpd-3.0alpha0&amp;lt;/code&amp;gt; (2000-06-04), &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; has always been included. EB Library began as a separate project with the first release in 1999-06-16 as &amp;lt;code&amp;gt;eb-2.2&amp;lt;/code&amp;gt;. Both of these projects continued until the discontinuation of &amp;lt;code&amp;gt;ndtpd&amp;lt;/code&amp;gt; (as a release) on 2003-05-24 with the version 3.1.5. &amp;lt;code&amp;gt;eb&amp;lt;/code&amp;gt; remained to be maintained until 2010-03-08 with the version 4.4.3. &lt;br /&gt;
&lt;br /&gt;
It is notable that Ito Kazuhiro (author of EBU - EB Library with JIS X 4081 UTF-8 extension) made a contribution to Motoyuki Kasahara's EB Library on 2000-06-24.&amp;lt;ref&amp;gt;[https://github.com/mistydemeo/eb/blob/master/ChangeLog.1#L1371 ChangeLog.1 (line 1371) - EB Library - Misty De Méo]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
A &amp;lt;code&amp;gt;EBZ&amp;lt;/code&amp;gt; file begins with bytes {{magic|45 42 5a 69 70 15 00 00 00 00 00 00 10 00 8b e8}}.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
'''These must be executed in the top level of (book) directory that contains &amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt; file, otherwise it will default to your current directory &amp;lt;code&amp;gt;$(pwd)&amp;lt;/code&amp;gt;.''' See [[Wikipedia:ja:EPWING#ファイル構造]] for the directory structure of book layout.&lt;br /&gt;
&lt;br /&gt;
Show information about the file:&lt;br /&gt;
  ebzip --information&lt;br /&gt;
Decompress files:&lt;br /&gt;
  ebzip --uncompress wikipedia-fpu&lt;br /&gt;
Compress files:&lt;br /&gt;
  ebzip wikipedia-fpu&lt;br /&gt;
Test files:&lt;br /&gt;
  ebzip --test wikipedia-fpu&lt;br /&gt;
Show help:&lt;br /&gt;
  ebzip --help&lt;br /&gt;
&lt;br /&gt;
== Sample file ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Filename&lt;br /&gt;
| Main server download link&lt;br /&gt;
| Mirror server download link&lt;br /&gt;
| Notes&lt;br /&gt;
|-&lt;br /&gt;
| kanjidic_en.fpwebz.tar&lt;br /&gt;
| [http://ftp.edrdg.org/pub/Nihongo/edict_en.fpwebz.tar EDRDG.org]&lt;br /&gt;
| [http://ftp.usf.edu/pub/ftp.monash.edu.au/pub/nihongo/kanjidic_en.fpwebz.tar USF.edu]&lt;br /&gt;
| Use [[7-Zip]] to open on Windows machines for instance, otherwise [[Tar]] should suffice.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software (mostly Japanese only) ==&lt;br /&gt;
See also: [[Wikipedia:ja:EPWING#検索ソフトウェア]]&lt;br /&gt;
* Windows&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/WinEBZip-0.0.exe WinEBZip.exe on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/WinEBZip-0.0.zip WinEBZip.zip on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [https://ebstudio.info/manual/EBWin4/EBWin4.html EBWin4]&lt;br /&gt;
* Linux&lt;br /&gt;
** [ftp://ftp.sra.co.jp/pub/misc/eb/ EB Library directory on SRA's FTP server - no longer maintained]&lt;br /&gt;
** [http://green.ribbon.to/~ikazuhiro/dic/ebu.html EBU - EB Library with JIS X 4081 UTF-8 extension]&lt;br /&gt;
** [https://github.com/mvf/qolibri qolibri EPWING dictionary viewer]&lt;br /&gt;
&lt;br /&gt;
== Links (mostly Japanese only) ==&lt;br /&gt;
* [[Wikipedia:ja:電子ブック (規格)]]&lt;br /&gt;
* [https://web.archive.org/web/20010606001016/http://www.sra.co.jp/people/m-kasahr/eb/index-ja.html Internet Archive's mirror of EB Library that was hosted on SRA's website]&lt;br /&gt;
* [http://green.ribbon.to/~ikazuhiro/dic/ebu.html EBU]&lt;br /&gt;
&lt;br /&gt;
== References (mostly Japanese only) ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Talk:EBZip</id>
		<title>Talk:EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Talk:EBZip"/>
				<updated>2025-08-20T11:42:19Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* zlib versus libdeflate versus LZMA benchmark (single electronic book) */ Wording on multi-threaded usage.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; caveats ==&lt;br /&gt;
Intended to be a place to note down issues, as well as tips and tricks with &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Hardcoded to look specifically for a file that begins with &amp;lt;code&amp;gt;&amp;quot;CATALOGS&amp;quot;&amp;lt;/code&amp;gt; (case-insensitive), or &amp;lt;code&amp;gt;&amp;quot;CATALOGS.ebz&amp;quot;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Custom dictionaries doesn't always follow standard convention to store their content(s), like having &amp;quot;&amp;lt;code&amp;gt;START.ebz&amp;lt;/code&amp;gt;&amp;quot; in the top level. Even if they do, they may also compress &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; as &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;.&amp;quot; &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt; specifically looks for either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and either decompress or compress the files specified within, per user's request, e.g. &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will tell it to decompress and rename any of the listed files that are noted in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and has &amp;quot;&amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt;&amp;quot; extension, ignoring any other files in the same path, and doesn't decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; even if instructed. There are ways to workaround that:&lt;br /&gt;
&lt;br /&gt;
==== Decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; ====&lt;br /&gt;
In my case,&lt;br /&gt;
* Simply rename the decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; to something like &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Copy the &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; there, but have it named as &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Run decompression via the usual &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; from the top level where it doesn't contain &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot; but only &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Once decompressed, move decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; (not &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;) back to where &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; was, have it renamed as &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Rename &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot; back to &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
Optionally, delete &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; considering that is now redundant.&lt;br /&gt;
&lt;br /&gt;
==== Decompress other &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; that were not listed ====&lt;br /&gt;
Same as above, but instead of copying, you can just move it, as,&lt;br /&gt;
* &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will only look for &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and&lt;br /&gt;
* It saves having to manually delete the redundant file(s) afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Zero-length (un)compressed files not overwritten upon manual intervention ===&lt;br /&gt;
When a path that has zero-length files, but are listed in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; for instance may not overwrite it. This may also apply if &amp;lt;code&amp;gt;ebzip -uf&amp;lt;/code&amp;gt; is used. To fix this, just delete the zero-length files, ensuring that they have a duplicate file that does not have &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, then re-run the command. When compressing, the opposite is true, to look for duplicate zero-length files with &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, delete them and run the utility to compress instead.&lt;br /&gt;
&lt;br /&gt;
On modern [[Linux]] environments, these could be achieved via the following:&lt;br /&gt;
&lt;br /&gt;
==== Enumerating ====&lt;br /&gt;
  find . -size 0 -type f&lt;br /&gt;
&lt;br /&gt;
==== Deleting ====&lt;br /&gt;
  find . -size 0 -type f -exec sudo rm -iv &amp;quot;{}&amp;quot; \;&lt;br /&gt;
Care must be taken to avoid any potential losses when running this command.&lt;br /&gt;
&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 10:10, 18 August 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
== LZMA benchmarks against other compression/utilities ==&lt;br /&gt;
In response to maintainer of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt;'s blog entry,&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/article.php/20190701203038572 EPWINGを圧縮する (libdeflateで) / Compressing EPWING via libdeflate - Kazuhiro's blog]&amp;lt;/ref&amp;gt; I decided to run a couple of benchmarks with different dictionaries, books or other referencing materials on my end. The following packages and their versions are as follows; kernel-6.15.8, zlib-1.3.1, libdeflate-1.24, xz-5.4.2, dwarfs-0.12.4, squashfs-tools-4.7.1.&lt;br /&gt;
&lt;br /&gt;
=== zlib versus libdeflate versus LZMA benchmark (single electronic book) ===&lt;br /&gt;
For the following, file sizes are reported from &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;, therefore size would be reported in blocks&amp;lt;ref&amp;gt;[https://unix.stackexchange.com/questions/28780/file-block-size-difference-between-stat-and-ls file block size - difference between stat and ls - Unix &amp;amp; Linux - Stack Exchange]&amp;lt;/ref&amp;gt;. The tested dictionaries using no compression, zlib, libdeflate, or [[XZ]] are [[tar|tarballed]] for consistency. For compressed file systems, XZ's LZMA2 is used. Both zlib and libdeflate has a maximum compression level of 5, anything beyond 5 would result in error, however XZ goes up to level 9, and has further options like &amp;lt;code&amp;gt;--extreme&amp;lt;/code&amp;gt; as well as various other tweaks which I will keep it simple and use &amp;lt;code&amp;gt;xz -9evv&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
[[DWARFS]] example parameters:&lt;br /&gt;
  mkdwarfs --input . --output=../JMdict_eng_2021-02-26_UTC.dwarfs --block-size-bits=26 --compression=lzma:level=9:extreme --schema-compression=lzma:level=9:extreme --metadata-compression=lzma:level=9:extreme --no-history \&lt;br /&gt;
  --pack-metadata=all,force --file-hash=sha3-512 --no-history-timestamp --no-create-timestamp --no-history-command-line&lt;br /&gt;
&lt;br /&gt;
[[SquashFS]] example parameters:&lt;br /&gt;
  mksquashfs . ../JMdict_eng_2021-02-26_UTC.squashfs -b 1048576 -comp xz -Xdict-size 100% -progress -info -no-xattrs&lt;br /&gt;
&lt;br /&gt;
Percentages are rounded to two decimal points, otherwise rounded up. Compression ratio against uncompressed in percentage is offered instead.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| [[EBZip#Sample_file|kanjidic]]&lt;br /&gt;
| NHKAccent&lt;br /&gt;
| Eijiro&lt;br /&gt;
| Kenkyusha eiwa daijiten v6&lt;br /&gt;
| Kenkyusha waei daijiten v5&lt;br /&gt;
|-&lt;br /&gt;
| ''No compression''&lt;br /&gt;
| 130,385,920&lt;br /&gt;
| 1,578,055,680&lt;br /&gt;
| 1,374,771,200&lt;br /&gt;
| 484,945,920&lt;br /&gt;
| 328,192,000&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(zlib)&lt;br /&gt;
| 42,035,200&lt;br /&gt;
| 1,393,920,000&lt;br /&gt;
| 379,975,680&lt;br /&gt;
| 117,596,160&lt;br /&gt;
| 109,721,600&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 32.24%&lt;br /&gt;
| 88.33%&lt;br /&gt;
| 27.63%&lt;br /&gt;
| 24.25%&lt;br /&gt;
| 33.43%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(libdeflate)&lt;br /&gt;
| 40,171,520&lt;br /&gt;
| 1,383,505,920&lt;br /&gt;
| 353,269,760&lt;br /&gt;
| 107,765,760&lt;br /&gt;
| 102,113,280&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 30.81%&lt;br /&gt;
| 87.67%&lt;br /&gt;
| 25.70%&lt;br /&gt;
| 22.22%&lt;br /&gt;
| 31.11%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,608&lt;br /&gt;
| 1,350,900,536&lt;br /&gt;
| 197,134,768&lt;br /&gt;
| 55,220,788&lt;br /&gt;
| 50,109,852&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.61%&lt;br /&gt;
| 14.34%&lt;br /&gt;
| 11.39%&lt;br /&gt;
| 15.27%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T0&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,616&lt;br /&gt;
| 1,351,560,168&lt;br /&gt;
| 202,934,760&lt;br /&gt;
| 56,670,664&lt;br /&gt;
| 50,747,640&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.65%&lt;br /&gt;
| 14.76%&lt;br /&gt;
| 11.69%&lt;br /&gt;
| 15.46%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[DWARFS|dwarfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 22,145,746&lt;br /&gt;
| 1,353,699,364&lt;br /&gt;
| 212,307,176&lt;br /&gt;
| 60,043,728&lt;br /&gt;
| 54,541,980&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.99%&lt;br /&gt;
| 85.78%&lt;br /&gt;
| 15.44%&lt;br /&gt;
| 12.38%&lt;br /&gt;
| 16.62%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[SquashFS|squashfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 31,793,152&lt;br /&gt;
| 1,367,302,144&lt;br /&gt;
| 272,068,608&lt;br /&gt;
| 81,805,312&lt;br /&gt;
| 160,956,416&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 24.38%&lt;br /&gt;
| 86.64%&lt;br /&gt;
| 19.79%&lt;br /&gt;
| 16.87%&lt;br /&gt;
| 49.04%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
XZ compression results are provided for the sake of discussion only, more on this in conclusion. While it does show extremely good results against all other utilities, the seek times are abysmally poor, worse than DWARFS with LZMA2 on machines with weaker hardware. Tests confirms liblzma having better compression regardless, against both zlib and libdeflate.&lt;br /&gt;
&lt;br /&gt;
NHKAccent is the exception here, with compression results indicating poor results. This is due to electronic book containing multimedia files, which won't compress well if it was already compressed.&lt;br /&gt;
&lt;br /&gt;
It is worthy to note here that compression/archiving utilities embracing liblzma, could by default take advantage of multi-threading, at the expense of producing potentially larger file. This however, is a small trade off, for effectively making full use of available CPU in the given environment.&lt;br /&gt;
&lt;br /&gt;
=== Modern compressed file system with multiple electronic books shootout ===&lt;br /&gt;
Author of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt; mentioned the case with smartphones, which I do personally find that these are also limited in performance, not just with storage capacities. [[SquashFS]] was or is used in Android devices,&amp;lt;ref&amp;gt;[https://android.stackexchange.com/questions/258236/squashfs-explanation-for-android-system SquashFS explanation for Android system - Android Enthusiasts - Stack Exchange]&amp;lt;/ref&amp;gt; so it makes sense to try using that on non system files in addition.&lt;br /&gt;
&lt;br /&gt;
For these tests, the sample data consists of ~189 dictionaries in a single directory. Both [[DWARFS]] and [[SquashFS]] are configured to use XZ's LZMA2 where possible, as it is known to be one of the best, freely available (especially under Unix-like platforms) compression. Both DWARFS and SquashFS parameters are the same as in prior section. Due to the inherent way of how &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; works, requiring &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; to be in the top directory, both variations of &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; using either zlib or libdeflate are omitted from this test. Besides, single compression job per dictionary, not including other files in the that path, e.g. &amp;quot;&amp;lt;code&amp;gt;START&amp;lt;/code&amp;gt;&amp;quot; would make the overall process time consuming, if the process isn't already tedious that it requires extensive scripting.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Method&lt;br /&gt;
| Size (blocks)&lt;br /&gt;
|-&lt;br /&gt;
| Uncompressed&amp;lt;br /&amp;gt;[[tar]]&lt;br /&gt;
| 29,014,026,240&lt;br /&gt;
|-&lt;br /&gt;
| [[DWARFS]]&lt;br /&gt;
| 10,613,886,184&lt;br /&gt;
|-&lt;br /&gt;
| [[SquashFS]]&lt;br /&gt;
| 12,269,518,848&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where DWARFS shines, is the ability to also save on segmenting data, in addition to file de-duplication. For a small penalty I've given to DWARFS, in that it is to use sha3-512 as hash, it still compresses the collection better and faster, than SquashFS. Then again, the focus here is on overall file size, not performance in file creation.&lt;br /&gt;
&lt;br /&gt;
=== Conclusion ===&lt;br /&gt;
Now of course, there are plenty of other compression utilities available, such as, but are not limited to [[Zstandard]], [[BZip3]], [[LZO]], etc. From the various results I have read, indicates that these other compression benchmarks, while trading better performance, these fall behind in final size constraints. The benchmark showcase here outlines the need to have as small of a compressed file as possible, with modern compression utilities and modern PC hardware, therefore making (speed-wise) performance testing out of the scope, as is the idea of creating the likes of [[ZIP]] bombs, or nested compressed files out of the scope.&lt;br /&gt;
&lt;br /&gt;
I have also tried to run &amp;lt;code&amp;gt;mkfs.[[EROFS|erofs]]&amp;lt;/code&amp;gt; in order to include it against the modern compressed file system with multiple dictionaries shootout. With version 1.8.10, no matter what parameters I set with LZMA &amp;lt;code&amp;gt;level=9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;level=109&amp;lt;/code&amp;gt; (109 is the extreme variant), even with lowering &amp;lt;code&amp;gt;dictsize=&amp;lt;/code&amp;gt;, the results would cause system to run out of memory (16GB of RAM) before even completing the file system creation.&lt;br /&gt;
&lt;br /&gt;
These benchmarks are in no way discrediting or disavowing the use of libdeflate over zlib. If file size is a concern, more modern compression algorithms and/or compression techniques could be considered. Modern EPWING viewer programs generally don't care if the electronic book is compressed using zlib or not compressed at all, and there are many ways of handling decompression transparently in modern Unix-like environments. Even more so, are the ever growing hardware performance as well as affordability with storage capacities in modern computing, questions the use of the what is widely considered as legacy compression algorithms for data archival. Last but not least, while single-threaded compression (as witnessed in the likes of &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt; above) or tasks might be extremely beneficial in reducing overheads, especially with LZMA2, it is also a slow process which may subsequently not translate well in modern, demanding contexts, where time honored traditions are casted away for practical, convenient, modernized, and easy to use solutions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 06:34, 20 August 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Talk:EBZip</id>
		<title>Talk:EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Talk:EBZip"/>
				<updated>2025-08-20T07:38:08Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* zlib versus libdeflate versus LZMA benchmark (single electronic book) */ Split mkdwarfs' long command line syntax for legibility sake.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; caveats ==&lt;br /&gt;
Intended to be a place to note down issues, as well as tips and tricks with &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Hardcoded to look specifically for a file that begins with &amp;lt;code&amp;gt;&amp;quot;CATALOGS&amp;quot;&amp;lt;/code&amp;gt; (case-insensitive), or &amp;lt;code&amp;gt;&amp;quot;CATALOGS.ebz&amp;quot;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Custom dictionaries doesn't always follow standard convention to store their content(s), like having &amp;quot;&amp;lt;code&amp;gt;START.ebz&amp;lt;/code&amp;gt;&amp;quot; in the top level. Even if they do, they may also compress &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; as &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;.&amp;quot; &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt; specifically looks for either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and either decompress or compress the files specified within, per user's request, e.g. &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will tell it to decompress and rename any of the listed files that are noted in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and has &amp;quot;&amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt;&amp;quot; extension, ignoring any other files in the same path, and doesn't decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; even if instructed. There are ways to workaround that:&lt;br /&gt;
&lt;br /&gt;
==== Decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; ====&lt;br /&gt;
In my case,&lt;br /&gt;
* Simply rename the decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; to something like &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Copy the &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; there, but have it named as &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Run decompression via the usual &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; from the top level where it doesn't contain &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot; but only &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Once decompressed, move decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; (not &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;) back to where &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; was, have it renamed as &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Rename &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot; back to &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
Optionally, delete &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; considering that is now redundant.&lt;br /&gt;
&lt;br /&gt;
==== Decompress other &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; that were not listed ====&lt;br /&gt;
Same as above, but instead of copying, you can just move it, as,&lt;br /&gt;
* &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will only look for &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and&lt;br /&gt;
* It saves having to manually delete the redundant file(s) afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Zero-length (un)compressed files not overwritten upon manual intervention ===&lt;br /&gt;
When a path that has zero-length files, but are listed in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; for instance may not overwrite it. This may also apply if &amp;lt;code&amp;gt;ebzip -uf&amp;lt;/code&amp;gt; is used. To fix this, just delete the zero-length files, ensuring that they have a duplicate file that does not have &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, then re-run the command. When compressing, the opposite is true, to look for duplicate zero-length files with &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, delete them and run the utility to compress instead.&lt;br /&gt;
&lt;br /&gt;
On modern [[Linux]] environments, these could be achieved via the following:&lt;br /&gt;
&lt;br /&gt;
==== Enumerating ====&lt;br /&gt;
  find . -size 0 -type f&lt;br /&gt;
&lt;br /&gt;
==== Deleting ====&lt;br /&gt;
  find . -size 0 -type f -exec sudo rm -iv &amp;quot;{}&amp;quot; \;&lt;br /&gt;
Care must be taken to avoid any potential losses when running this command.&lt;br /&gt;
&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 10:10, 18 August 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
== LZMA benchmarks against other compression/utilities ==&lt;br /&gt;
In response to maintainer of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt;'s blog entry,&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/article.php/20190701203038572 EPWINGを圧縮する (libdeflateで) / Compressing EPWING via libdeflate - Kazuhiro's blog]&amp;lt;/ref&amp;gt; I decided to run a couple of benchmarks with different dictionaries, books or other referencing materials on my end. The following packages and their versions are as follows; kernel-6.15.8, zlib-1.3.1, libdeflate-1.24, xz-5.4.2, dwarfs-0.12.4, squashfs-tools-4.7.1.&lt;br /&gt;
&lt;br /&gt;
=== zlib versus libdeflate versus LZMA benchmark (single electronic book) ===&lt;br /&gt;
For the following, file sizes are reported from &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;, therefore size would be reported in blocks&amp;lt;ref&amp;gt;[https://unix.stackexchange.com/questions/28780/file-block-size-difference-between-stat-and-ls file block size - difference between stat and ls - Unix &amp;amp; Linux - Stack Exchange]&amp;lt;/ref&amp;gt;. The tested dictionaries using no compression, zlib, libdeflate, or [[XZ]] are [[tar|tarballed]] for consistency. For compressed file systems, XZ's LZMA2 is used. Both zlib and libdeflate has a maximum compression level of 5, anything beyond 5 would result in error, however XZ goes up to level 9, and has further options like &amp;lt;code&amp;gt;--extreme&amp;lt;/code&amp;gt; as well as various other tweaks which I will keep it simple and use &amp;lt;code&amp;gt;xz -9evv&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
[[DWARFS]] example parameters:&lt;br /&gt;
  mkdwarfs --input . --output=../JMdict_eng_2021-02-26_UTC.dwarfs --block-size-bits=26 --compression=lzma:level=9:extreme --schema-compression=lzma:level=9:extreme --metadata-compression=lzma:level=9:extreme --no-history \&lt;br /&gt;
  --pack-metadata=all,force --file-hash=sha3-512 --no-history-timestamp --no-create-timestamp --no-history-command-line&lt;br /&gt;
&lt;br /&gt;
[[SquashFS]] example parameters:&lt;br /&gt;
  mksquashfs . ../JMdict_eng_2021-02-26_UTC.squashfs -b 1048576 -comp xz -Xdict-size 100% -progress -info -no-xattrs&lt;br /&gt;
&lt;br /&gt;
Percentages are rounded to two decimal points, otherwise rounded up. Compression ratio against uncompressed in percentage is offered instead.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| [[EBZip#Sample_file|kanjidic]]&lt;br /&gt;
| NHKAccent&lt;br /&gt;
| Eijiro&lt;br /&gt;
| Kenkyusha eiwa daijiten v6&lt;br /&gt;
| Kenkyusha waei daijiten v5&lt;br /&gt;
|-&lt;br /&gt;
| ''No compression''&lt;br /&gt;
| 130,385,920&lt;br /&gt;
| 1,578,055,680&lt;br /&gt;
| 1,374,771,200&lt;br /&gt;
| 484,945,920&lt;br /&gt;
| 328,192,000&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(zlib)&lt;br /&gt;
| 42,035,200&lt;br /&gt;
| 1,393,920,000&lt;br /&gt;
| 379,975,680&lt;br /&gt;
| 117,596,160&lt;br /&gt;
| 109,721,600&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 32.24%&lt;br /&gt;
| 88.33%&lt;br /&gt;
| 27.63%&lt;br /&gt;
| 24.25%&lt;br /&gt;
| 33.43%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(libdeflate)&lt;br /&gt;
| 40,171,520&lt;br /&gt;
| 1,383,505,920&lt;br /&gt;
| 353,269,760&lt;br /&gt;
| 107,765,760&lt;br /&gt;
| 102,113,280&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 30.81%&lt;br /&gt;
| 87.67%&lt;br /&gt;
| 25.70%&lt;br /&gt;
| 22.22%&lt;br /&gt;
| 31.11%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,608&lt;br /&gt;
| 1,350,900,536&lt;br /&gt;
| 197,134,768&lt;br /&gt;
| 55,220,788&lt;br /&gt;
| 50,109,852&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.61%&lt;br /&gt;
| 14.34%&lt;br /&gt;
| 11.39%&lt;br /&gt;
| 15.27%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T0&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,616&lt;br /&gt;
| 1,351,560,168&lt;br /&gt;
| 202,934,760&lt;br /&gt;
| 56,670,664&lt;br /&gt;
| 50,747,640&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.65%&lt;br /&gt;
| 14.76%&lt;br /&gt;
| 11.69%&lt;br /&gt;
| 15.46%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[DWARFS|dwarfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 22,145,746&lt;br /&gt;
| 1,353,699,364&lt;br /&gt;
| 212,307,176&lt;br /&gt;
| 60,043,728&lt;br /&gt;
| 54,541,980&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.99%&lt;br /&gt;
| 85.78%&lt;br /&gt;
| 15.44%&lt;br /&gt;
| 12.38%&lt;br /&gt;
| 16.62%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[SquashFS|squashfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 31,793,152&lt;br /&gt;
| 1,367,302,144&lt;br /&gt;
| 272,068,608&lt;br /&gt;
| 81,805,312&lt;br /&gt;
| 160,956,416&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 24.38%&lt;br /&gt;
| 86.64%&lt;br /&gt;
| 19.79%&lt;br /&gt;
| 16.87%&lt;br /&gt;
| 49.04%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
XZ compression results are provided for the sake of discussion only, more on this in conclusion. While it does show extremely good results against all other utilities, the seek times are abysmally poor, worse than DWARFS with LZMA2 on machines with weaker hardware. Tests confirms liblzma having better compression regardless, against both zlib and libdeflate.&lt;br /&gt;
&lt;br /&gt;
NHKAccent is the exception here, with compression results indicating poor results. This is due to electronic book containing multimedia files, which won't compress well if it was already compressed.&lt;br /&gt;
&lt;br /&gt;
It is worthy to note here that compression/archiving utilities embracing liblzma, could be configured to take advantage of multi-threading by default, at the expense of producing potentially larger file. This however, is a small trade off, for effectively making full use of available CPU in the given environment.&lt;br /&gt;
&lt;br /&gt;
=== Modern compressed file system with multiple electronic books shootout ===&lt;br /&gt;
Author of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt; mentioned the case with smartphones, which I do personally find that these are also limited in performance, not just with storage capacities. [[SquashFS]] was or is used in Android devices,&amp;lt;ref&amp;gt;[https://android.stackexchange.com/questions/258236/squashfs-explanation-for-android-system SquashFS explanation for Android system - Android Enthusiasts - Stack Exchange]&amp;lt;/ref&amp;gt; so it makes sense to try using that on non system files in addition.&lt;br /&gt;
&lt;br /&gt;
For these tests, the sample data consists of ~189 dictionaries in a single directory. Both [[DWARFS]] and [[SquashFS]] are configured to use XZ's LZMA2 where possible, as it is known to be one of the best, freely available (especially under Unix-like platforms) compression. Both DWARFS and SquashFS parameters are the same as in prior section. Due to the inherent way of how &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; works, requiring &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; to be in the top directory, both variations of &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; using either zlib or libdeflate are omitted from this test. Besides, single compression job per dictionary, not including other files in the that path, e.g. &amp;quot;&amp;lt;code&amp;gt;START&amp;lt;/code&amp;gt;&amp;quot; would make the overall process time consuming, if the process isn't already tedious that it requires extensive scripting.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Method&lt;br /&gt;
| Size (blocks)&lt;br /&gt;
|-&lt;br /&gt;
| Uncompressed&amp;lt;br /&amp;gt;[[tar]]&lt;br /&gt;
| 29,014,026,240&lt;br /&gt;
|-&lt;br /&gt;
| [[DWARFS]]&lt;br /&gt;
| 10,613,886,184&lt;br /&gt;
|-&lt;br /&gt;
| [[SquashFS]]&lt;br /&gt;
| 12,269,518,848&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where DWARFS shines, is the ability to also save on segmenting data, in addition to file de-duplication. For a small penalty I've given to DWARFS, in that it is to use sha3-512 as hash, it still compresses the collection better and faster, than SquashFS. Then again, the focus here is on overall file size, not performance in file creation.&lt;br /&gt;
&lt;br /&gt;
=== Conclusion ===&lt;br /&gt;
Now of course, there are plenty of other compression utilities available, such as, but are not limited to [[Zstandard]], [[BZip3]], [[LZO]], etc. From the various results I have read, indicates that these other compression benchmarks, while trading better performance, these fall behind in final size constraints. The benchmark showcase here outlines the need to have as small of a compressed file as possible, with modern compression utilities and modern PC hardware, therefore making (speed-wise) performance testing out of the scope, as is the idea of creating the likes of [[ZIP]] bombs, or nested compressed files out of the scope.&lt;br /&gt;
&lt;br /&gt;
I have also tried to run &amp;lt;code&amp;gt;mkfs.[[EROFS|erofs]]&amp;lt;/code&amp;gt; in order to include it against the modern compressed file system with multiple dictionaries shootout. With version 1.8.10, no matter what parameters I set with LZMA &amp;lt;code&amp;gt;level=9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;level=109&amp;lt;/code&amp;gt; (109 is the extreme variant), even with lowering &amp;lt;code&amp;gt;dictsize=&amp;lt;/code&amp;gt;, the results would cause system to run out of memory (16GB of RAM) before even completing the file system creation.&lt;br /&gt;
&lt;br /&gt;
These benchmarks are in no way discrediting or disavowing the use of libdeflate over zlib. If file size is a concern, more modern compression algorithms and/or compression techniques could be considered. Modern EPWING viewer programs generally don't care if the electronic book is compressed using zlib or not compressed at all, and there are many ways of handling decompression transparently in modern Unix-like environments. Even more so, are the ever growing hardware performance as well as affordability with storage capacities in modern computing, questions the use of the what is widely considered as legacy compression algorithms for data archival. Last but not least, while single-threaded compression (as witnessed in the likes of &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt; above) or tasks might be extremely beneficial in reducing overheads, especially with LZMA2, it is also a slow process which may subsequently not translate well in modern, demanding contexts, where time honored traditions are casted away for practical, convenient, modernized, and easy to use solutions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 06:34, 20 August 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Linux</id>
		<title>Linux</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Linux"/>
				<updated>2025-08-20T07:29:09Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Linked David A. Wheeler's article to Linux presence in server space. The same article doesn't focus on server environments, but does make good references in where Linux is widely used in that same space. Updated Linux as utility section, with ref.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|&lt;br /&gt;
|[[Software]]&lt;br /&gt;
| &amp;gt;&lt;br /&gt;
|[[Operating Systems]]&lt;br /&gt;
| &amp;gt;&lt;br /&gt;
|[[Linux]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[https://www.linux.com/ '''Linux'''] is an Open Source operating system (OS) closely related to [http://www.unix.org/ '''Unix'''], and is often referred to as &amp;quot;Unix-like&amp;quot;. Technically, Linux is the kernel at the core of an operating system; the kernel alone isn't of much use by itself without the various utility programs that are typically &amp;quot;bundled&amp;quot; with the kernel, many of which came from the GNU project.  The bundling of Linux kernel with typically GNU utility programs became what is better known as '''distributions''' or [http://distrowatch.com/ distros] for short.&lt;br /&gt;
&lt;br /&gt;
Certain users calls it as '''GNU/Linux''' as the proper term for the operating system as a whole, major &amp;quot;religious wars&amp;quot; are fought over the correct naming schema.&amp;lt;ref&amp;gt;[[wikipedia:GNU/Linux_naming_controversy|GNU/Linux naming controversy on Wikipedia]]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[[wikipedia:GNU_Hurd#Development_history|Development history section - GNU Hurd - Wikipedia]]&amp;lt;/ref&amp;gt;  As are exceptions to that rule by using the likes of [[wikipedia:BusyBox|BusyBox]] instead GNU software components.&lt;br /&gt;
&lt;br /&gt;
Owing to license being GPLv2, users are not held hostage over the Linux source code.  As such, Linux is also noted for being supported by many free software projects as a solution, that replaces their dependency on proprietary counterparts which are often used in many other operating systems.  There are free and open source word processors for example.  &lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
Linux is created by [[wikipedia:Linus Torvalds|Linus Torvalds]] initially as a hobby&amp;lt;ref&amp;gt;[[wikipedia:https://en.wikipedia.org/wiki/Linus_Torvalds#cite_note-22|Cite note-22 - Linus Torvalds on Wikipedia]]&amp;lt;/ref&amp;gt;, that used software utilities from [https://www.gnu.org/ '''GNU (GNU not Unix) Project'''].  GNU created sets of Unix-like software utilities, but lacked a fully functional kernel, the &amp;quot;heart of the OS&amp;quot;, which was needed to make a fully functional OS.  Linus Torvalds combined his kernel with the GNU software and Linux was born.&amp;lt;ref&amp;gt;[https://www.cs.cmu.edu/~awb/linux.history.html LINUX's History by Linus Torvalds - Carnegie Mellon University of Computer Science]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://web.archive.org/web/20030818084123/http://www-2.cs.cmu.edu/~awb/linux.history.html LINUX's History by Linus Torvalds - Carnegie Mellon University of Computer Science - Internet Archive mirror]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Who uses Linux? ==&lt;br /&gt;
&lt;br /&gt;
Linux is a very small fraction (about 2%) of desktop computers worldwide, however,&lt;br /&gt;
* It is a leader in cellphones and tablets, it being the core of the Android, which is the most used OS in the world overall. The [[Android]] operating system (which uses non-GNU utility programs) and the related [[iOS|Apple iOS]], a BSD derivative, are the two major players in these markets.&lt;br /&gt;
* In the server market, websites specifically are dominated by Linux among Unix(-like) installations with about 60% of that market. Many server operators transitioned away from proprietary, but also generally costly solutions to Linux.&amp;lt;ref&amp;gt;[https://dwheeler.com/oss_fs_why.html Why Open Source Software / Free Software (OSS/FS, FLOSS, or FOSS)? Look at the Numbers! - David A. Wheeler]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* It sees users in cloud computing environments, for example Azure Linux,&amp;lt;ref&amp;gt;[[wikipedia:Azure_Linux|Azure Linux on Wikipedia]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* It exists in networking devices (e.g. [https://openwrt.org/ OpenWRT]) along with other embedded devices like Single Board Computers (SBC) for example, [https://www.raspberrypi.com/software/operating-systems/ Rasbian for Raspberry Pi].&lt;br /&gt;
* It is also among the top 500 supercomputers worldwide.&amp;lt;ref&amp;gt;[https://www.top500.org/lists/top500/2025/06/ June 2025 - Top500]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux as utility ===&lt;br /&gt;
&lt;br /&gt;
Many technicians supporting '''[[Microsoft Windows]]''' operating systems use a bootable live environment, for instance [http://livecdlist.com/ '''Linux LiveCD/DVD'''] to diagnose storage mediums, perform repairs, and retrieve data that may be lost, should their repair efforts require them to format and re-install Windows.  In addition, there are tailored distros used by digital [[Forensics and Law Enforcement|forensics]] to analyze data. These are used by experienced computer security people, for instance to examine a suspect's computer for alleged computer crimes they have been accused of in court scenarios.&amp;lt;ref&amp;gt;[https://www.sans.org/cybersecurity-focus-areas/digital-forensics-incident-response Digital Forensics and Incident Response Training - SANS.org]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Linux is also used to diagnose variants of its own&amp;lt;ref&amp;gt;[https://android.stackexchange.com/questions/258236/squashfs-explanation-for-android-system SquashFS explanation for Android system - Android Enthusiasts - Stack Exchange]&amp;lt;/ref&amp;gt;, where there is a somewhat growing community of hardware hackers interested in the likes of reverse engineering a device, and that the tools available within Linux makes it an easier choice overall.&amp;lt;ref&amp;gt;[https://embeddedbits.org/reverse-engineering-my-routers-firmware-with-binwalk-embeddedbits/ Reverse engineering my router's firmware with binwalk - embedditbits.org]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux for the technically inclined ===&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Power users&amp;quot; or tinkerers are generally experienced users who knows their way around OS may find Windows restrictive.&amp;lt;ref&amp;gt;[https://www.linkedin.com/pulse/why-windows-11-losing-trust-power-users-what-means-techs-dening-2ofrc Why Windows 11 Is Losing the Trust of Power Users - And What That Means for Tech’s Future - LinkedIn]&amp;lt;/ref&amp;gt;  Linux as a whole does not restrict users ability to perform certain dangerous tasks that could otherwise damage their installation.  While it is possible to lock down users in Linux, and have it available as a Linux distro for convenience.  This unfettered access across the OS could be seen as a benefit for those that do not appreciate the one-suit-fits-all approach Microsoft employs.  If certain features are unavailable in Windows, it might also not be a feature that could be unlocked for free, contrary to power tools under Linux which are mostly available for free.  [[wikipedia:WindowBlinds|WindowBlinds]] is an old example of this, in Linux, many modern popular graphical environments already offers (customizable) desktop/window transparency for free.&lt;br /&gt;
&lt;br /&gt;
=== Linux for the privacy conscious individuals ===&lt;br /&gt;
&lt;br /&gt;
There is a growing trend among Linux converts, typically from Windows, who are concerned with the likes of [[wikipedia:Telemetry#Software|software telemetry]] being added to Windows 11&amp;lt;ref&amp;gt;[https://www.extremetech.com/computing/342941-windows-11-collects-an-awful-lot-of-telemetry-about-your-pc Windows 11 Collects an Awful Lot of Telemetry About Your PC - Extreme Tech]&amp;lt;/ref&amp;gt;, which constitutes as one of the many possible motives as to why Linux might be gaining some popularity among the heavily dominant Windows in desktop computer space.  At the same time, telemetry may also exist in Linux, often creating heated discussions with those who value their privacy and software choices, over features in software that could otherwise potentially help software developers.&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/discussions/889 Actions we propose to take on PR #835 #889 - Audacity discussions - GitHub]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://discussion.fedoraproject.org/t/f40-change-request-privacy-preserving-telemetry-for-fedora-workstation-system-wide/85320 F40 Change Request: Privacy-preserving Telemetry for Fedora Workstation (System-Wide) - Fedora Discussions]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pros and Cons of running Linux ==&lt;br /&gt;
&lt;br /&gt;
'''PROS:'''&lt;br /&gt;
* Linux distros, due to its nature, offers a wide range of choices to better suit individuals and their needs. &lt;br /&gt;
* Being a very small part of the overall market share for desktop computers, there are few Linux malware to contend with, the malware writers concentrate on the more dominant Windows platform. &lt;br /&gt;
* Linux installs are generally much smaller than Windows installs and can run on much older hardware.  Many old Windows XP machines that cannot handle Windows 7 and beyond do well with a Linux install.  &lt;br /&gt;
* Linux is generally a free OS, there is no direct cost to the user.  Paid Linux distributions exists for those who desire specifics like priority support, especially if using in commercial contexts.&lt;br /&gt;
* It is a very stable OS.&lt;br /&gt;
&lt;br /&gt;
'''CONS:'''&lt;br /&gt;
* While many modern distros are user-friendly out of the box, there is a significant learning curve with Linux.  Many basic operations work differently and perhaps are a bit more complex on Linux. Broadly speaking, interested individuals are encouraged to have an open mind.&lt;br /&gt;
* [http://www.winehq.org/ '''[[Wine|WINE]]'''] for instance allows certain Windows software to run in Wine, but it doesn't always perform as well as it would in a native Windows environment, conversely sometimes they work better than a native Windows environment.  Virtualization by means of using [[Virtualization Software]] may also be an option for running certain Windows software inside Linux, at the cost of increasing complexity as well as potentially having performance penalty, especially on older hardware.  Gaming on Linux is somewhat possible via the likes of Steam.&amp;lt;ref&amp;gt;[https://fedoramagazine.org/gaming-on-fedora/ Gaming on Fedora - Fedora Magazine]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Vendors (software or hardware) may simply choose to not support Linux on whatever befitting reason they have on the matter.  Users are better off exercising their own discretion.  When these are offered for &amp;quot;free&amp;quot;, these may often not include free technical support, contrary to how Linux is regarded a &amp;quot;free OS&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://www.kernel.org/ The Linux Kernel Archives]&lt;br /&gt;
* [http://archive.org/details/linux_distributions Archive of historical Linux distributions]&lt;br /&gt;
* [http://arstechnica.com/information-technology/2013/10/the-navys-newest-warship-is-powered-by-linux/ The Navy’s newest warship is powered by Linux]&lt;br /&gt;
* [[wikipedia:PlayStation_3#Use_in_supercomputing|Sony PlayStation 3 used in supercomputing - Wikipedia]]&lt;br /&gt;
* [http://www.extremetech.com/extreme/124287-the-worlds-slowest-linux-pc The world’s slowest Linux PC]&lt;br /&gt;
* [https://dmitry.gr/index.php?r=05.Projects&amp;amp;proj=07.%20Linux%20on%208bit Linux on an 8-bit micro]&lt;br /&gt;
* [https://linux-hardware.org/ linux-hardware.org - a crowd-sourced hardware compatibility database]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operating Systems]]&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Squashfs</id>
		<title>Squashfs</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Squashfs"/>
				<updated>2025-08-20T06:55:30Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Adjusted layout in the top area for better legibility.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Filesystem&lt;br /&gt;
|extensions={{ext|sfs}}&amp;lt;ref&amp;gt;[https://github.com/plougher/squashfs-tools/issues/259 What are the commonly accepted file name extension for squashfs? #259 - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|wikidata={{wikidata|Q389314}}&lt;br /&gt;
|compression=lossless, optional&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/filesystems#L2194 68 73 71 73] (little-endian)&amp;lt;br /&amp;gt;[https://github.com/file/file/blob/master/magic/Magdir/filesystems#L2191 73 71 73 68] (big-endian)&lt;br /&gt;
|developed by=Phillip Lougher&amp;lt;ref&amp;gt;[https://sourceforge.net/p/squashfs/mailman/message/67563/ (Squashfs-announce) Squashfs1.2 released - 2003-03-13 05:30:45 - SourceForge mailman]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|maintained by=Phillip Lougher&lt;br /&gt;
|released=2002&lt;br /&gt;
}}&lt;br /&gt;
'''Squashfs''' is read-only filesystem that features optional compression&amp;lt;ref&amp;gt;[https://github.com/plougher/squashfs-tools/issues/206 &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;feature request&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;: mksquashfs: Add --no-compression flag to disable all compression #206 - squashfs-tools - GitHub]&amp;lt;/ref&amp;gt; for Linux. Typically used as a &amp;quot;live image&amp;quot; for booting Linux off a removable storage (e.g. USB, CD/DVD), minus components like the bootloader, kernel and initramfs.&amp;lt;ref&amp;gt;[https://fedoraproject.org/wiki/Changes/EROFSforLiveMedia EROFS For Live Media - Fedora Project]&amp;lt;/ref&amp;gt; It is also used in:&lt;br /&gt;
* Embedded devices like network routers&amp;lt;ref&amp;gt;[https://openwrt.org/docs/techref/flash.layout The OpenWrt Flash Layout - Technical Reference - openwrt.org]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/ReFirmLabs/binwalk/issues/301 problems extracting squashfs-image #301 - binwalk - GitHub]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://embeddedbits.org/reverse-engineering-my-routers-firmware-with-binwalk-embeddedbits/ Reverse engineering my router's firmware with binwalk - embeddedbits.org]&amp;lt;/ref&amp;gt;, or in Android powered devices.&amp;lt;ref&amp;gt;[https://android.stackexchange.com/questions/258236/squashfs-explanation-for-android-system SquashFS explanation for Android system - Android Enthusiasts - Stack Exchange]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Modern AppImage,&amp;lt;ref&amp;gt;[[wikipedia:AppImage#History|History of AppImage - Wikipedia]]&amp;lt;/ref&amp;gt;, or [[Snap]]&amp;lt;ref&amp;gt;[[wikipedia:Snap_(software)#Support|Snap - support section - Wikipedia]]&amp;lt;/ref&amp;gt; as a way portable software distribution on Linux.&lt;br /&gt;
* Storage of other data, such as disk images.&amp;lt;ref&amp;gt;[https://www.foo.be/2017/01/Squashfs_As_A_Forensic_Container Squashfs As a Forensic Container - foo.be]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under [[Microsoft Windows|Windows]], SquashFS contents can be opened/extracted via [[7-Zip]].&amp;lt;ref&amp;gt;[https://stackoverflow.com/a/36877207 python2.7 How to handle squashfs in Windows - StackOverflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also [[cramfs]].&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
SquashFS files created on little-endian machines begins with hexadecimal {{magic|68 73 71 73}}, which translates to &amp;quot;hsqs&amp;quot; in ASCII. SquashFS files created on big-endian machines with hexadecimal {{magic|73 71 73 68}}, which translates to &amp;quot;sqsh&amp;quot; in ASCII.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Create a Squashfs (file system) image from current/present directory and output it into its parent directory:&lt;br /&gt;
  $ mksquashfs . ../example.squashfs -b 1048576 -comp xz -Xdict-size 100%&lt;br /&gt;
&lt;br /&gt;
Open a Squashfs image (as root) from present directory and have its contents visible in &amp;lt;code&amp;gt;/mnt&amp;lt;/code&amp;gt;:&lt;br /&gt;
  # mount example.squashfs /mnt&lt;br /&gt;
&lt;br /&gt;
Open a Squashfs image (as user) from present directory and have its contents visible in &amp;lt;code&amp;gt;/mnt/temp&amp;lt;/code&amp;gt;:&lt;br /&gt;
  $ squashfuse example.squashfs /mnt/temp&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [[7-Zip]]&lt;br /&gt;
* [https://github.com/vasi/squashfuse Squashfuse] (Unix-like only)&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* {{DexvertSamples|archive/squashFS}}&lt;br /&gt;
* [https://discmaster.textfiles.com/search?mode=deep&amp;amp;extension=.sfs&amp;amp;format=squashFS Search results for .sfs extension and is squashFS format - Discmaster.textfiles.com]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Wikipedia: SquashFS]]&lt;br /&gt;
* [https://squashfs.sourceforge.net/ Squashfs website]&lt;br /&gt;
* [https://sourceforge.net/projects/squashfs/ SourceForge project page]&lt;br /&gt;
* [https://github.com/plougher/squashfs-tools GitHub project page]&lt;br /&gt;
* [https://elixir.bootlin.com/linux/latest/source/Documentation/filesystems/squashfs.txt squashfs.txt]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Squashfs</id>
		<title>Squashfs</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Squashfs"/>
				<updated>2025-08-20T06:52:34Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Changed data compression to optional, and provide reference. Provide examples and references of where else SquashFS sees its deployment.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Filesystem&lt;br /&gt;
|extensions={{ext|sfs}}&amp;lt;ref&amp;gt;[https://github.com/plougher/squashfs-tools/issues/259 What are the commonly accepted file name extension for squashfs? #259 - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|wikidata={{wikidata|Q389314}}&lt;br /&gt;
|compression=lossless, optional&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/filesystems#L2194 68 73 71 73] (little-endian)&amp;lt;br /&amp;gt;[https://github.com/file/file/blob/master/magic/Magdir/filesystems#L2191 73 71 73 68] (big-endian)&lt;br /&gt;
|developed by=Phillip Lougher&amp;lt;ref&amp;gt;[https://sourceforge.net/p/squashfs/mailman/message/67563/ (Squashfs-announce) Squashfs1.2 released - 2003-03-13 05:30:45 - SourceForge mailman]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|maintained by=Phillip Lougher&lt;br /&gt;
|released=2002&lt;br /&gt;
}}&lt;br /&gt;
'''Squashfs''' is read-only filesystem that features optional compression&amp;lt;ref&amp;gt;[https://github.com/plougher/squashfs-tools/issues/206 &amp;lt;nowiki&amp;gt;[&amp;lt;/nowiki&amp;gt;feature request&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;: mksquashfs: Add --no-compression flag to disable all compression #206 - squashfs-tools - GitHub]&amp;lt;/ref&amp;gt; for Linux. Typically used as a &amp;quot;live image&amp;quot; for booting Linux off a removable storage (e.g. USB, CD/DVD), minus components like the bootloader, kernel and initramfs.&amp;lt;ref&amp;gt;[https://fedoraproject.org/wiki/Changes/EROFSforLiveMedia EROFS For Live Media - Fedora Project]&amp;lt;/ref&amp;gt; It is also used in:&lt;br /&gt;
* Embedded devices like network routers&amp;lt;ref&amp;gt;[https://openwrt.org/docs/techref/flash.layout The OpenWrt Flash Layout - Technical Reference - openwrt.org]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/ReFirmLabs/binwalk/issues/301 problems extracting squashfs-image #301 - binwalk - GitHub]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://embeddedbits.org/reverse-engineering-my-routers-firmware-with-binwalk-embeddedbits/ Reverse engineering my router's firmware with binwalk - embeddedbits.org]&amp;lt;/ref&amp;gt;, or in Android powered devices.&amp;lt;ref&amp;gt;[https://android.stackexchange.com/questions/258236/squashfs-explanation-for-android-system SquashFS explanation for Android system - Android Enthusiasts - Stack Exchange]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Modern AppImage,&amp;lt;ref&amp;gt;[[wikipedia:AppImage#History|History of AppImage - Wikipedia]]&amp;lt;/ref&amp;gt;, or [[Snap]]&amp;lt;ref&amp;gt;[[wikipedia:Snap_(software)#Support|Snap - support section - Wikipedia]]&amp;lt;/ref&amp;gt; as a way portable software distribution on Linux.&lt;br /&gt;
* Storage of other data, such as disk images.&amp;lt;ref&amp;gt;[https://www.foo.be/2017/01/Squashfs_As_A_Forensic_Container Squashfs As a Forensic Container - foo.be]&amp;lt;/ref&amp;gt; Under Windows, Squashfs contents can be opened/extracted via [[7-Zip]].&amp;lt;ref&amp;gt;[https://stackoverflow.com/a/36877207 python2.7 How to handle squashfs in Windows - StackOverflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also [[cramfs]].&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
SquashFS files created on little-endian machines begins with hexadecimal {{magic|68 73 71 73}}, which translates to &amp;quot;hsqs&amp;quot; in ASCII. SquashFS files created on big-endian machines with hexadecimal {{magic|73 71 73 68}}, which translates to &amp;quot;sqsh&amp;quot; in ASCII.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Create a Squashfs (file system) image from current/present directory and output it into its parent directory:&lt;br /&gt;
  $ mksquashfs . ../example.squashfs -b 1048576 -comp xz -Xdict-size 100%&lt;br /&gt;
&lt;br /&gt;
Open a Squashfs image (as root) from present directory and have its contents visible in &amp;lt;code&amp;gt;/mnt&amp;lt;/code&amp;gt;:&lt;br /&gt;
  # mount example.squashfs /mnt&lt;br /&gt;
&lt;br /&gt;
Open a Squashfs image (as user) from present directory and have its contents visible in &amp;lt;code&amp;gt;/mnt/temp&amp;lt;/code&amp;gt;:&lt;br /&gt;
  $ squashfuse example.squashfs /mnt/temp&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [[7-Zip]]&lt;br /&gt;
* [https://github.com/vasi/squashfuse Squashfuse] (Unix-like only)&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* {{DexvertSamples|archive/squashFS}}&lt;br /&gt;
* [https://discmaster.textfiles.com/search?mode=deep&amp;amp;extension=.sfs&amp;amp;format=squashFS Search results for .sfs extension and is squashFS format - Discmaster.textfiles.com]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Wikipedia: SquashFS]]&lt;br /&gt;
* [https://squashfs.sourceforge.net/ Squashfs website]&lt;br /&gt;
* [https://sourceforge.net/projects/squashfs/ SourceForge project page]&lt;br /&gt;
* [https://github.com/plougher/squashfs-tools GitHub project page]&lt;br /&gt;
* [https://elixir.bootlin.com/linux/latest/source/Documentation/filesystems/squashfs.txt squashfs.txt]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Talk:EBZip</id>
		<title>Talk:EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Talk:EBZip"/>
				<updated>2025-08-20T06:34:02Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* LZMA benchmarks against other compression/utilities */ Added topic.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; caveats ==&lt;br /&gt;
Intended to be a place to note down issues, as well as tips and tricks with &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Hardcoded to look specifically for a file that begins with &amp;lt;code&amp;gt;&amp;quot;CATALOGS&amp;quot;&amp;lt;/code&amp;gt; (case-insensitive), or &amp;lt;code&amp;gt;&amp;quot;CATALOGS.ebz&amp;quot;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Custom dictionaries doesn't always follow standard convention to store their content(s), like having &amp;quot;&amp;lt;code&amp;gt;START.ebz&amp;lt;/code&amp;gt;&amp;quot; in the top level. Even if they do, they may also compress &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; as &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;.&amp;quot; &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt; specifically looks for either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and either decompress or compress the files specified within, per user's request, e.g. &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will tell it to decompress and rename any of the listed files that are noted in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and has &amp;quot;&amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt;&amp;quot; extension, ignoring any other files in the same path, and doesn't decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; even if instructed. There are ways to workaround that:&lt;br /&gt;
&lt;br /&gt;
==== Decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; ====&lt;br /&gt;
In my case,&lt;br /&gt;
* Simply rename the decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; to something like &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Copy the &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; there, but have it named as &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Run decompression via the usual &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; from the top level where it doesn't contain &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot; but only &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Once decompressed, move decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; (not &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;) back to where &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; was, have it renamed as &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Rename &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot; back to &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
Optionally, delete &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; considering that is now redundant.&lt;br /&gt;
&lt;br /&gt;
==== Decompress other &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; that were not listed ====&lt;br /&gt;
Same as above, but instead of copying, you can just move it, as,&lt;br /&gt;
* &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will only look for &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and&lt;br /&gt;
* It saves having to manually delete the redundant file(s) afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Zero-length (un)compressed files not overwritten upon manual intervention ===&lt;br /&gt;
When a path that has zero-length files, but are listed in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; for instance may not overwrite it. This may also apply if &amp;lt;code&amp;gt;ebzip -uf&amp;lt;/code&amp;gt; is used. To fix this, just delete the zero-length files, ensuring that they have a duplicate file that does not have &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, then re-run the command. When compressing, the opposite is true, to look for duplicate zero-length files with &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, delete them and run the utility to compress instead.&lt;br /&gt;
&lt;br /&gt;
On modern [[Linux]] environments, these could be achieved via the following:&lt;br /&gt;
&lt;br /&gt;
==== Enumerating ====&lt;br /&gt;
  find . -size 0 -type f&lt;br /&gt;
&lt;br /&gt;
==== Deleting ====&lt;br /&gt;
  find . -size 0 -type f -exec sudo rm -iv &amp;quot;{}&amp;quot; \;&lt;br /&gt;
Care must be taken to avoid any potential losses when running this command.&lt;br /&gt;
&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 10:10, 18 August 2025 (UTC)&lt;br /&gt;
&lt;br /&gt;
== LZMA benchmarks against other compression/utilities ==&lt;br /&gt;
In response to maintainer of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt;'s blog entry,&amp;lt;ref&amp;gt;[http://ikazuhiro.s206.xrea.com/article.php/20190701203038572 EPWINGを圧縮する (libdeflateで) / Compressing EPWING via libdeflate - Kazuhiro's blog]&amp;lt;/ref&amp;gt; I decided to run a couple of benchmarks with different dictionaries, books or other referencing materials on my end. The following packages and their versions are as follows; kernel-6.15.8, zlib-1.3.1, libdeflate-1.24, xz-5.4.2, dwarfs-0.12.4, squashfs-tools-4.7.1.&lt;br /&gt;
&lt;br /&gt;
=== zlib versus libdeflate versus LZMA benchmark (single electronic book) ===&lt;br /&gt;
For the following, file sizes are reported from &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt;, therefore size would be reported in blocks&amp;lt;ref&amp;gt;[https://unix.stackexchange.com/questions/28780/file-block-size-difference-between-stat-and-ls file block size - difference between stat and ls - Unix &amp;amp; Linux - Stack Exchange]&amp;lt;/ref&amp;gt;. The tested dictionaries using no compression, zlib, libdeflate, or [[XZ]] are [[tar|tarballed]] for consistency. For compressed file systems, XZ's LZMA2 is used. Both zlib and libdeflate has a maximum compression level of 5, anything beyond 5 would result in error, however XZ goes up to level 9, and has further options like &amp;lt;code&amp;gt;--extreme&amp;lt;/code&amp;gt; as well as various other tweaks which I will keep it simple and use &amp;lt;code&amp;gt;xz -9evv&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
[[DWARFS]] example parameters:&lt;br /&gt;
  mkdwarfs --input . --output=../JMdict_eng_2021-02-26_UTC.dwarfs --block-size-bits=26 --compression=lzma:level=9:extreme --schema-compression=lzma:level=9:extreme --metadata-compression=lzma:level=9:extreme --no-history --pack-metadata=all,force --file-hash=sha3-512 --no-history-timestamp --no-create-timestamp --no-history-command-line&lt;br /&gt;
&lt;br /&gt;
[[SquashFS]] example parameters:&lt;br /&gt;
  mksquashfs . ../JMdict_eng_2021-02-26_UTC.squashfs -b 1048576 -comp xz -Xdict-size 100% -progress -info -no-xattrs&lt;br /&gt;
&lt;br /&gt;
Percentages are rounded to two decimal points, otherwise rounded up. Compression ratio against uncompressed in percentage is offered instead.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| [[EBZip#Sample_file|kanjidic]]&lt;br /&gt;
| NHKAccent&lt;br /&gt;
| Eijiro&lt;br /&gt;
| Kenkyusha eiwa daijiten v6&lt;br /&gt;
| Kenkyusha waei daijiten v5&lt;br /&gt;
|-&lt;br /&gt;
| ''No compression''&lt;br /&gt;
| 130,385,920&lt;br /&gt;
| 1,578,055,680&lt;br /&gt;
| 1,374,771,200&lt;br /&gt;
| 484,945,920&lt;br /&gt;
| 328,192,000&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(zlib)&lt;br /&gt;
| 42,035,200&lt;br /&gt;
| 1,393,920,000&lt;br /&gt;
| 379,975,680&lt;br /&gt;
| 117,596,160&lt;br /&gt;
| 109,721,600&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 32.24%&lt;br /&gt;
| 88.33%&lt;br /&gt;
| 27.63%&lt;br /&gt;
| 24.25%&lt;br /&gt;
| 33.43%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ebzip -z -l 5&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(libdeflate)&lt;br /&gt;
| 40,171,520&lt;br /&gt;
| 1,383,505,920&lt;br /&gt;
| 353,269,760&lt;br /&gt;
| 107,765,760&lt;br /&gt;
| 102,113,280&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 30.81%&lt;br /&gt;
| 87.67%&lt;br /&gt;
| 25.70%&lt;br /&gt;
| 22.22%&lt;br /&gt;
| 31.11%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,608&lt;br /&gt;
| 1,350,900,536&lt;br /&gt;
| 197,134,768&lt;br /&gt;
| 55,220,788&lt;br /&gt;
| 50,109,852&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.61%&lt;br /&gt;
| 14.34%&lt;br /&gt;
| 11.39%&lt;br /&gt;
| 15.27%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;xz -9evv -T0&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 21,607,616&lt;br /&gt;
| 1,351,560,168&lt;br /&gt;
| 202,934,760&lt;br /&gt;
| 56,670,664&lt;br /&gt;
| 50,747,640&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.57%&lt;br /&gt;
| 85.65%&lt;br /&gt;
| 14.76%&lt;br /&gt;
| 11.69%&lt;br /&gt;
| 15.46%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[DWARFS|dwarfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 22,145,746&lt;br /&gt;
| 1,353,699,364&lt;br /&gt;
| 212,307,176&lt;br /&gt;
| 60,043,728&lt;br /&gt;
| 54,541,980&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 16.99%&lt;br /&gt;
| 85.78%&lt;br /&gt;
| 15.44%&lt;br /&gt;
| 12.38%&lt;br /&gt;
| 16.62%&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mk[[SquashFS|squashfs]]&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;(liblzma)&lt;br /&gt;
| 31,793,152&lt;br /&gt;
| 1,367,302,144&lt;br /&gt;
| 272,068,608&lt;br /&gt;
| 81,805,312&lt;br /&gt;
| 160,956,416&lt;br /&gt;
|-&lt;br /&gt;
| ''Compression ratio against uncompressed in percentage''&lt;br /&gt;
| 24.38%&lt;br /&gt;
| 86.64%&lt;br /&gt;
| 19.79%&lt;br /&gt;
| 16.87%&lt;br /&gt;
| 49.04%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
XZ compression results are provided for the sake of discussion only, more on this in conclusion. While it does show extremely good results against all other utilities, the seek times are abysmally poor, worse than DWARFS with LZMA2 on machines with weaker hardware. Tests confirms liblzma having better compression regardless, against both zlib and libdeflate.&lt;br /&gt;
&lt;br /&gt;
NHKAccent is the exception here, with compression results indicating poor results. This is due to electronic book containing multimedia files, which won't compress well if it was already compressed.&lt;br /&gt;
&lt;br /&gt;
It is worthy to note here that compression/archiving utilities embracing liblzma, could be configured to take advantage of multi-threading by default, at the expense of producing potentially larger file. This however, is a small trade off, for effectively making full use of available CPU in the given environment.&lt;br /&gt;
&lt;br /&gt;
=== Modern compressed file system with multiple electronic books shootout ===&lt;br /&gt;
Author of &amp;lt;code&amp;gt;ebu&amp;lt;/code&amp;gt; mentioned the case with smartphones, which I do personally find that these are also limited in performance, not just with storage capacities. [[SquashFS]] was or is used in Android devices,&amp;lt;ref&amp;gt;[https://android.stackexchange.com/questions/258236/squashfs-explanation-for-android-system SquashFS explanation for Android system - Android Enthusiasts - Stack Exchange]&amp;lt;/ref&amp;gt; so it makes sense to try using that on non system files in addition.&lt;br /&gt;
&lt;br /&gt;
For these tests, the sample data consists of ~189 dictionaries in a single directory. Both [[DWARFS]] and [[SquashFS]] are configured to use XZ's LZMA2 where possible, as it is known to be one of the best, freely available (especially under Unix-like platforms) compression. Both DWARFS and SquashFS parameters are the same as in prior section. Due to the inherent way of how &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; works, requiring &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; to be in the top directory, both variations of &amp;lt;code&amp;gt;ebuzip&amp;lt;/code&amp;gt; using either zlib or libdeflate are omitted from this test. Besides, single compression job per dictionary, not including other files in the that path, e.g. &amp;quot;&amp;lt;code&amp;gt;START&amp;lt;/code&amp;gt;&amp;quot; would make the overall process time consuming, if the process isn't already tedious that it requires extensive scripting.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; align=&amp;quot;center&amp;quot; style=&amp;quot;text-align:center;&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Method&lt;br /&gt;
| Size (blocks)&lt;br /&gt;
|-&lt;br /&gt;
| Uncompressed&amp;lt;br /&amp;gt;[[tar]]&lt;br /&gt;
| 29,014,026,240&lt;br /&gt;
|-&lt;br /&gt;
| [[DWARFS]]&lt;br /&gt;
| 10,613,886,184&lt;br /&gt;
|-&lt;br /&gt;
| [[SquashFS]]&lt;br /&gt;
| 12,269,518,848&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Where DWARFS shines, is the ability to also save on segmenting data, in addition to file de-duplication. For a small penalty I've given to DWARFS, in that it is to use sha3-512 as hash, it still compresses the collection better and faster, than SquashFS. Then again, the focus here is on overall file size, not performance in file creation.&lt;br /&gt;
&lt;br /&gt;
=== Conclusion ===&lt;br /&gt;
Now of course, there are plenty of other compression utilities available, such as, but are not limited to [[Zstandard]], [[BZip3]], [[LZO]], etc. From the various results I have read, indicates that these other compression benchmarks, while trading better performance, these fall behind in final size constraints. The benchmark showcase here outlines the need to have as small of a compressed file as possible, with modern compression utilities and modern PC hardware, therefore making (speed-wise) performance testing out of the scope, as is the idea of creating the likes of [[ZIP]] bombs, or nested compressed files out of the scope.&lt;br /&gt;
&lt;br /&gt;
I have also tried to run &amp;lt;code&amp;gt;mkfs.[[EROFS|erofs]]&amp;lt;/code&amp;gt; in order to include it against the modern compressed file system with multiple dictionaries shootout. With version 1.8.10, no matter what parameters I set with LZMA &amp;lt;code&amp;gt;level=9&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;level=109&amp;lt;/code&amp;gt; (109 is the extreme variant), even with lowering &amp;lt;code&amp;gt;dictsize=&amp;lt;/code&amp;gt;, the results would cause system to run out of memory (16GB of RAM) before even completing the file system creation.&lt;br /&gt;
&lt;br /&gt;
These benchmarks are in no way discrediting or disavowing the use of libdeflate over zlib. If file size is a concern, more modern compression algorithms and/or compression techniques could be considered. Modern EPWING viewer programs generally don't care if the electronic book is compressed using zlib or not compressed at all, and there are many ways of handling decompression transparently in modern Unix-like environments. Even more so, are the ever growing hardware performance as well as affordability with storage capacities in modern computing, questions the use of the what is widely considered as legacy compression algorithms for data archival. Last but not least, while single-threaded compression (as witnessed in the likes of &amp;lt;code&amp;gt;xz -9evv -T1&amp;lt;/code&amp;gt; above) or tasks might be extremely beneficial in reducing overheads, especially with LZMA2, it is also a slow process which may subsequently not translate well in modern, demanding contexts, where time honored traditions are casted away for practical, convenient, modernized, and easy to use solutions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 06:34, 20 August 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Talk:EBZip</id>
		<title>Talk:EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Talk:EBZip"/>
				<updated>2025-08-18T10:37:53Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* Deleting */ Improved syntax to make it less disasterous &amp;quot;-i&amp;quot; implied. Also worksaround root/other owned files.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; caveats ==&lt;br /&gt;
Intended to be a place to note down issues, as well as tips and tricks with &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Hardcoded to look specifically for a file that begins with &amp;lt;code&amp;gt;&amp;quot;CATALOGS&amp;quot;&amp;lt;/code&amp;gt; (case-insensitive), or &amp;lt;code&amp;gt;&amp;quot;CATALOGS.ebz&amp;quot;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Custom dictionaries doesn't always follow standard convention to store their content(s), like having &amp;quot;&amp;lt;code&amp;gt;START.ebz&amp;lt;/code&amp;gt;&amp;quot; in the top level. Even if they do, they may also compress &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; as &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;.&amp;quot; &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt; specifically looks for either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and either decompress or compress the files specified within, per user's request, e.g. &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will tell it to decompress and rename any of the listed files that are noted in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and has &amp;quot;&amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt;&amp;quot; extension, ignoring any other files in the same path, and doesn't decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; even if instructed. There are ways to workaround that:&lt;br /&gt;
&lt;br /&gt;
==== Decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; ====&lt;br /&gt;
In my case,&lt;br /&gt;
* Simply rename the decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; to something like &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Copy the &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; there, but have it named as &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Run decompression via the usual &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; from the top level where it doesn't contain &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot; but only &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Once decompressed, move decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; (not &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;) back to where &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; was, have it renamed as &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Rename &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot; back to &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
Optionally, delete &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; considering that is now redundant.&lt;br /&gt;
&lt;br /&gt;
==== Decompress other &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; that were not listed ====&lt;br /&gt;
Same as above, but instead of copying, you can just move it, as,&lt;br /&gt;
* &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will only look for &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and&lt;br /&gt;
* It saves having to manually delete the redundant file(s) afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Zero-length (un)compressed files not overwritten upon manual intervention ===&lt;br /&gt;
When a path that has zero-length files, but are listed in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; for instance may not overwrite it. This may also apply if &amp;lt;code&amp;gt;ebzip -uf&amp;lt;/code&amp;gt; is used. To fix this, just delete the zero-length files, ensuring that they have a duplicate file that does not have &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, then re-run the command. When compressing, the opposite is true, to look for duplicate zero-length files with &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, delete them and run the utility to compress instead.&lt;br /&gt;
&lt;br /&gt;
On modern [[Linux]] environments, these could be achieved via the following:&lt;br /&gt;
&lt;br /&gt;
==== Enumerating ====&lt;br /&gt;
  find . -size 0 -type f&lt;br /&gt;
&lt;br /&gt;
==== Deleting ====&lt;br /&gt;
  find . -size 0 -type f -exec sudo rm -iv &amp;quot;{}&amp;quot; \;&lt;br /&gt;
Care must be taken to avoid any potential losses when running this command.&lt;br /&gt;
&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 10:10, 18 August 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Talk:EBZip</id>
		<title>Talk:EBZip</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Talk:EBZip"/>
				<updated>2025-08-18T10:10:50Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Added talk page for topics that doesn't belong to main page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== &amp;lt;code&amp;gt;ebzip&amp;lt;/code&amp;gt; caveats ==&lt;br /&gt;
Intended to be a place to note down issues, as well as tips and tricks with &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Hardcoded to look specifically for a file that begins with &amp;lt;code&amp;gt;&amp;quot;CATALOGS&amp;quot;&amp;lt;/code&amp;gt; (case-insensitive), or &amp;lt;code&amp;gt;&amp;quot;CATALOGS.ebz&amp;quot;&amp;lt;/code&amp;gt; ===&lt;br /&gt;
Custom dictionaries doesn't always follow standard convention to store their content(s), like having &amp;quot;&amp;lt;code&amp;gt;START.ebz&amp;lt;/code&amp;gt;&amp;quot; in the top level. Even if they do, they may also compress &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; as &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;.&amp;quot; &amp;lt;code&amp;gt;eb-4.4.3&amp;lt;/code&amp;gt; specifically looks for either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and either decompress or compress the files specified within, per user's request, e.g. &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will tell it to decompress and rename any of the listed files that are noted in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and has &amp;quot;&amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt;&amp;quot; extension, ignoring any other files in the same path, and doesn't decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; even if instructed. There are ways to workaround that:&lt;br /&gt;
&lt;br /&gt;
==== Decompress &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; ====&lt;br /&gt;
In my case,&lt;br /&gt;
* Simply rename the decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; to something like &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Copy the &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; there, but have it named as &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Run decompression via the usual &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; from the top level where it doesn't contain &amp;quot;&amp;lt;code&amp;gt;HONMON.ebz&amp;lt;/code&amp;gt;&amp;quot; but only &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Once decompressed, move decompressed &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot; (not &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot;) back to where &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; was, have it renamed as &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot;,&lt;br /&gt;
* Rename &amp;quot;&amp;lt;code&amp;gt;HONMON.old&amp;lt;/code&amp;gt;&amp;quot; back to &amp;quot;&amp;lt;code&amp;gt;HONMON&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
Optionally, delete &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot; considering that is now redundant.&lt;br /&gt;
&lt;br /&gt;
==== Decompress other &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; that were not listed ====&lt;br /&gt;
Same as above, but instead of copying, you can just move it, as,&lt;br /&gt;
* &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; will only look for &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, and&lt;br /&gt;
* It saves having to manually delete the redundant file(s) afterwards.&lt;br /&gt;
&lt;br /&gt;
=== Zero-length (un)compressed files not overwritten upon manual intervention ===&lt;br /&gt;
When a path that has zero-length files, but are listed in either &amp;quot;&amp;lt;code&amp;gt;CATALOGS&amp;lt;/code&amp;gt;&amp;quot; or &amp;quot;&amp;lt;code&amp;gt;CATALOGS.ebz&amp;lt;/code&amp;gt;&amp;quot;, &amp;lt;code&amp;gt;ebzip -u&amp;lt;/code&amp;gt; for instance may not overwrite it. This may also apply if &amp;lt;code&amp;gt;ebzip -uf&amp;lt;/code&amp;gt; is used. To fix this, just delete the zero-length files, ensuring that they have a duplicate file that does not have &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, then re-run the command. When compressing, the opposite is true, to look for duplicate zero-length files with &amp;lt;code&amp;gt;.ebz&amp;lt;/code&amp;gt; extension, delete them and run the utility to compress instead.&lt;br /&gt;
&lt;br /&gt;
On modern [[Linux]] environments, these could be achieved via the following:&lt;br /&gt;
&lt;br /&gt;
==== Enumerating ====&lt;br /&gt;
  find . -size 0 -type f&lt;br /&gt;
&lt;br /&gt;
==== Deleting ====&lt;br /&gt;
  find . -size 0 -type f -delete&lt;br /&gt;
Care must be taken to avoid any potential losses when running this command.&lt;br /&gt;
&lt;br /&gt;
[[User:Anonymoususer852|Anonymoususer852]] ([[User talk:Anonymoususer852|talk]]) 10:10, 18 August 2025 (UTC)&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/DWARFS</id>
		<title>DWARFS</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/DWARFS"/>
				<updated>2025-08-17T23:44:13Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Typo fixes for SHA-1 referenced link, concerning the name.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|name=DWARFS&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Filesystem&lt;br /&gt;
|compression=lossless, optional&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/dwarfs#L27 44 57 41 52 46 53]&lt;br /&gt;
|developed by=Marcus Holland-Moritz&lt;br /&gt;
|released=2020 &amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/releases/tag/release-0.1.0 Release 0.1.0 - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
'''D'''eduplicating '''W'''arp-speed '''A'''dvanced '''R'''ead-only '''F'''ile '''S'''ystem (DWARFS) is a read-only filesystem that optionally supports no compression (via &amp;lt;code&amp;gt;--compress-level=0&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--compression=null&amp;lt;/code&amp;gt; for instance) and no deduplication (via &amp;lt;code&amp;gt;--file-hash none&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
It is developed by Marcus Holland-Moritz and when compared to Squashfs, DWARFS also offers a choice of hashing algorithms,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92 Choice of hash for duplicate detection #92 - GitHub]&amp;lt;/ref&amp;gt; as well as a tool for checking DWARFS image via &amp;lt;code&amp;gt;dwarfsck&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
At maximum compression levels using LZMA, DWARFS (using &amp;lt;code&amp;gt;--compression=lzma:level=9:extreme&amp;lt;/code&amp;gt;) can produce smaller file size compared to SquashFS with the rough equivalent of using XZ as &amp;lt;code&amp;gt;-comp xz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The software is currently available for both Unix-like (generally [[Linux]]) and [[Microsoft Windows]], with the caveat that, &amp;quot;Support for the Windows operating system is currently experimental. Having worked pretty much exclusively in a Unix world for the past two decades, my experience with Windows development is rather limited and I'd expect there to definitely be bugs and rough edges in the Windows code.&amp;quot;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs?tab=readme-ov-file#windows-support Windows Support section of README.md - DWARFS - GitHub]&amp;lt;/ref&amp;gt; There is even [https://formulae.brew.sh/formula/dwarfs &amp;lt;code&amp;gt;homebrew&amp;lt;/code&amp;gt; formulae] for [[macOS]].&lt;br /&gt;
&lt;br /&gt;
See also [[Squashfs]].&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
The aim with this software project is to ultimately create a compressed, deduplicated, read-only file system. While it is possible to disable all except for read-only, disabling it defeats the purpose. &lt;br /&gt;
&lt;br /&gt;
DWARFS software project also intends to compete (performance-wise) with [[SquashFS]] at file system creation, in that a given directory, folder, or path is scanned, hashed, (optionally categorized) before the contents are compressed, adding only the unique copies. [[SquashFS]] tends to add and hash files as it creates the file system, similar to how [[7-Zip]] or [[ZIP]] files for instance are created, with the apparent ability to detect and avoid adding duplicate files during creation process that is unique to the likes of [[SquashFS]] and DWARFS, which however is considered slower, generally double-handling compared to DWARFS which does these during the scanning phase.&lt;br /&gt;
&lt;br /&gt;
The developer's original motivation was with, &amp;quot;several hundred different versions of Perl that were taking up something around 30 gigabytes of disk space&amp;quot; and that there, &amp;quot;was unwilling to spend more than 10% of my hard drive keeping them around for when I happened to need them.&amp;quot;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs?tab=readme-ov-file#history History section - DWARFS - GitHub]&amp;lt;/ref&amp;gt; This may put the project in line for competing with &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt;, which is a Versioning Control System (VCS), that is used to record changes to a given project at a more atomic level, compressing (and using zlib) changes with each commit, however, unlike &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; which introduces rather steep learning curves, contrasting to just adding several versions of the same software project into an &amp;quot;archive&amp;quot; is arguably more trivial to do. Ultimately, DWARFS, like [[SquashFS]] has many other potential use-cases, rather than whatever they were intentionally designed for, making it a somewhat popular choice in the race against other forms of archivers and software/file distribution methods, without requiring the use of bespoke compression software that happens to be ranked among the top in [https://www.mattmahoney.net/dc/text.html Matt Mahoney's data compression benchmarks].&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
DWARFS files begins with the hexadecimal {{magic|44 57 41 52 46 53}} which translates to &amp;quot;DWARFS&amp;quot; in ASCII.&amp;lt;ref&amp;gt;[https://bugs.astron.com/view.php?id=449 0000449: Add magic for the DWARFS compressed file system format - bugs.astron.com]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Create an extremely compressed DWARFS image, without history, all root owned contents, sha3-512 hash algorithm, idle task (lowest priority) from present directory to &amp;lt;code&amp;gt;example.dwarfs&amp;lt;/code&amp;gt;:&lt;br /&gt;
  mkdwarfs --input . --output=example.dwarfs --block-size-bits=26 --compression=lzma:level=9:extreme --compress-niceness=10 --schema-compression=lzma:level=9:extreme \&lt;br /&gt;
  --metadata-compression=lzma:level=9:extreme --no-history --pack-metadata=all,force --file-hash=sha3-512 --set-owner=0 --set-group=0 --no-history-timestamp \&lt;br /&gt;
  --no-create-timestamp --no-history-command-line&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;mkdwarfs&amp;lt;/code&amp;gt; only features ==&lt;br /&gt;
The following below illustrates features that are only available upon creating the DWARFS file. Once the DWARFS file has been created, the only way to change these is to use &amp;lt;code&amp;gt;--recompress=all&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Choice of available compression===&lt;br /&gt;
As of version 0.12.4, the following compressors are available:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Switch&lt;br /&gt;
| Comments&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/null.cpp null]&amp;lt;/code&amp;gt;&lt;br /&gt;
| No compression.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/null.cpp#L110 null.cpp (line 110) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/lzma.cpp lzma]&amp;lt;/code&amp;gt;&lt;br /&gt;
| liblzma compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/lzma.cpp#L413 lzma.cpp (line 413) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;, under modern [[Linux]] environments, [[XZ]]'s liblzma is used.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/zstd.cpp zstd]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Zstandard|libzstd]] compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/zstd.cpp#L179 zstd.cpp (line 179) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/lz4.cpp lz4]&amp;lt;/code&amp;gt;&lt;br /&gt;
| lib[[LZ4|lz4]] compression,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/lz4.cpp#L186 lz4.cpp (line 186) - DWARFS - GitHub]&amp;lt;/ref&amp;gt; choice of either LZ4HC or LZ4 compression are available.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/brotli.cpp brotli]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Brotli]] compressor&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/brotli.cpp#L169 brotli.cpp (line 169) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/flac.cpp flac]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[FLAC]] compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/flac.cpp#L496 flac.cpp (line 496) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/ricepp.cpp ricepp]&amp;lt;/code&amp;gt;&lt;br /&gt;
| RICEPP compression, likely [[wikipedia:Golomb coding|Golomb coding]]&amp;lt;ref&amp;gt;[https://github.com/glampert/compression-algorithms/blob/master/rice.hpp#L7-L9 rice.hpp (lines 7-9) - compression-algorithms - GitHub]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/ricepp.cpp#L260 ricepp.cpp (line 260) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Choice of available hash for duplication detection===&lt;br /&gt;
Since 0.7.0-RC1 introduced alternatives,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issuecomment-1295209723 Choice of hash for duplicate detection #92 post #5 - DWARFS - GitHub]&amp;lt;/ref&amp;gt; as of version [https://github.com/mhx/dwarfs/commits/main/src/checksum.cpp 0.12.4], the following hash algorithms are available:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Switch&lt;br /&gt;
| Remarks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=none&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disable file deduplication checks.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issuecomment-1295209723 Choice of hash for duplicate detection #92, post #5 - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=blake2b512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=blake2s256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=md5&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;quot;As of 2019, MD5 continues to be widely used, despite its well-documented weaknesses and deprecation by security experts.&amp;quot;&amp;lt;ref&amp;gt;[[wikipedia:MD5#Security|Security section of MD5 - Wikipedia]]&amp;lt;/ref&amp;gt; Vulnerabilities include collision attacks and preimage vulnerability.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=md5-sha1&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=ripemd160&amp;lt;/code&amp;gt;&lt;br /&gt;
| Appeared as a checksum test in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;de5ec99&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/de5ec99eca452d0ea2561bfcc6e9679683fa7463#diff-c4d301699de69e8106245704b87f73c0afa750915c8d396494c558aa3aaf3ab2R55 Commit de5ec99 - test/checksum_test.cpp (line 55) - test(checksum): add checksum tests - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Formerly used hash algorithm.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issue-1299801734 Choice of hash for duplicate detection #92, post #1 - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;Vulnerable to collision attacks.&amp;lt;ref&amp;gt;[[wikipedia:SHA-1#Attacks|Attacks section of SHA-1 - Wikipedia]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha384&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-384&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512-224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512-256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=shake128&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disabled by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;afbd85e&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/afbd85e4b1aad52b651fd42dc182e8109d0fa8b1 Commit afbd85e - fix(checksum): disable extended output algorithms (e.g. shake(128|256)) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=shake256&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disabled by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;afbd85e&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/afbd85e4b1aad52b651fd42dc182e8109d0fa8b1 Commit afbd85e - fix(checksum): disable extended output algorithms (e.g. shake(128|256)) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sm3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=xxh3-64&amp;lt;/code&amp;gt;&lt;br /&gt;
| Added by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;7ded26d&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/7ded26d6a398af10fb05957b2fb4891cc533600c Commit 7ded26d - feat(checksum): add hexdigest() method - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=xxh3-128&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current default choice when not specified.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/releases/tag/v0.7.0-RC1 v0.7.0-RC1 - DWARFS releases by tag - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://github.com/mhx/dwarfs DWARFS project page (GitHub)]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/Squashfs</id>
		<title>Squashfs</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/Squashfs"/>
				<updated>2025-08-17T16:18:48Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* FormatInfo template */ Added developed by and maintained by. Likely developed by Phillip Lougher, with references to the earliest possible citation.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Filesystem&lt;br /&gt;
|extensions={{ext|sfs}}&amp;lt;ref&amp;gt;[https://github.com/plougher/squashfs-tools/issues/259 What are the commonly accepted file name extension for squashfs? #259 - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|wikidata={{wikidata|Q389314}}&lt;br /&gt;
|compression=lossless, mandatory&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/filesystems#L2194 68 73 71 73] (little-endian)&amp;lt;br /&amp;gt;[https://github.com/file/file/blob/master/magic/Magdir/filesystems#L2191 73 71 73 68] (big-endian)&lt;br /&gt;
|developed by=Phillip Lougher&amp;lt;ref&amp;gt;[https://sourceforge.net/p/squashfs/mailman/message/67563/ (Squashfs-announce) Squashfs1.2 released - 2003-03-13 05:30:45 - SourceForge mailman]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|maintained by=Phillip Lougher&lt;br /&gt;
|released=2002&lt;br /&gt;
}}&lt;br /&gt;
'''Squashfs''' is a compressed read-only filesystem for Linux. Typically used as a &amp;quot;live image&amp;quot; for booting Linux off a removable storage (e.g. USB, CD/DVD), minus components like the bootloader, kernel and initramfs.&amp;lt;ref&amp;gt;[https://fedoraproject.org/wiki/Changes/EROFSforLiveMedia EROFS For Live Media - Fedora Project]&amp;lt;/ref&amp;gt; It is also used in modern AppImage,&amp;lt;ref&amp;gt;[[wikipedia:AppImage#History|History of AppImage - Wikipedia]]&amp;lt;/ref&amp;gt;, or [[Snap]]&amp;lt;ref&amp;gt;[[wikipedia:Snap_(software)#Support|Snap - support section - Wikipedia]]&amp;lt;/ref&amp;gt; as a way portable software distribution on Linux. Squashfs can also be used to store other data, such as disk images.&amp;lt;ref&amp;gt;[https://www.foo.be/2017/01/Squashfs_As_A_Forensic_Container Squashfs As a Forensic Container - foo.be]&amp;lt;/ref&amp;gt; Under Windows, Squashfs contents can be opened/extracted via [[7-Zip]].&amp;lt;ref&amp;gt;[https://stackoverflow.com/a/36877207 python2.7 How to handle squashfs in Windows - StackOverflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See also [[cramfs]].&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
SquashFS files created on little-endian machines begins with hexadecimal {{magic|68 73 71 73}}, which translates to &amp;quot;hsqs&amp;quot; in ASCII. SquashFS files created on big-endian machines with hexadecimal {{magic|73 71 73 68}}, which translates to &amp;quot;sqsh&amp;quot; in ASCII.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Create a Squashfs (file system) image from current/present directory and output it into its parent directory:&lt;br /&gt;
  $ mksquashfs . ../example.squashfs -b 1048576 -comp xz -Xdict-size 100%&lt;br /&gt;
&lt;br /&gt;
Open a Squashfs image (as root) from present directory and have its contents visible in &amp;lt;code&amp;gt;/mnt&amp;lt;/code&amp;gt;:&lt;br /&gt;
  # mount example.squashfs /mnt&lt;br /&gt;
&lt;br /&gt;
Open a Squashfs image (as user) from present directory and have its contents visible in &amp;lt;code&amp;gt;/mnt/temp&amp;lt;/code&amp;gt;:&lt;br /&gt;
  $ squashfuse example.squashfs /mnt/temp&lt;br /&gt;
&lt;br /&gt;
== Software ==&lt;br /&gt;
* [[7-Zip]]&lt;br /&gt;
* [https://github.com/vasi/squashfuse Squashfuse] (Unix-like only)&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* {{DexvertSamples|archive/squashFS}}&lt;br /&gt;
* [https://discmaster.textfiles.com/search?mode=deep&amp;amp;extension=.sfs&amp;amp;format=squashFS Search results for .sfs extension and is squashFS format - Discmaster.textfiles.com]&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[Wikipedia: SquashFS]]&lt;br /&gt;
* [https://squashfs.sourceforge.net/ Squashfs website]&lt;br /&gt;
* [https://sourceforge.net/projects/squashfs/ SourceForge project page]&lt;br /&gt;
* [https://github.com/plougher/squashfs-tools GitHub project page]&lt;br /&gt;
* [https://elixir.bootlin.com/linux/latest/source/Documentation/filesystems/squashfs.txt squashfs.txt]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/DWARFS</id>
		<title>DWARFS</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/DWARFS"/>
				<updated>2025-08-17T16:07:21Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Added developer in FormatInfo. More typo fixes, &amp;quot;availble&amp;quot; → &amp;quot;available&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|name=DWARFS&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Filesystem&lt;br /&gt;
|compression=lossless, optional&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/dwarfs#L27 44 57 41 52 46 53]&lt;br /&gt;
|developed by=Marcus Holland-Moritz&lt;br /&gt;
|released=2020 &amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/releases/tag/release-0.1.0 Release 0.1.0 - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
'''D'''eduplicating '''W'''arp-speed '''A'''dvanced '''R'''ead-only '''F'''ile '''S'''ystem (DWARFS) is a read-only filesystem that optionally supports no compression (via &amp;lt;code&amp;gt;--compress-level=0&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--compression=null&amp;lt;/code&amp;gt; for instance) and no deduplication (via &amp;lt;code&amp;gt;--file-hash none&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
It is developed by Marcus Holland-Moritz and when compared to Squashfs, DWARFS also offers a choice of hashing algorithms,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92 Choice of hash for duplicate detection #92 - GitHub]&amp;lt;/ref&amp;gt; as well as a tool for checking DWARFS image via &amp;lt;code&amp;gt;dwarfsck&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
At maximum compression levels using LZMA, DWARFS (using &amp;lt;code&amp;gt;--compression=lzma:level=9:extreme&amp;lt;/code&amp;gt;) can produce smaller file size compared to SquashFS with the rough equivalent of using XZ as &amp;lt;code&amp;gt;-comp xz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The software is currently available for both Unix-like (generally [[Linux]]) and [[Microsoft Windows]], with the caveat that, &amp;quot;Support for the Windows operating system is currently experimental. Having worked pretty much exclusively in a Unix world for the past two decades, my experience with Windows development is rather limited and I'd expect there to definitely be bugs and rough edges in the Windows code.&amp;quot;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs?tab=readme-ov-file#windows-support Windows Support section of README.md - DWARFS - GitHub]&amp;lt;/ref&amp;gt; There is even [https://formulae.brew.sh/formula/dwarfs &amp;lt;code&amp;gt;homebrew&amp;lt;/code&amp;gt; formulae] for [[macOS]].&lt;br /&gt;
&lt;br /&gt;
See also [[Squashfs]].&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
The aim with this software project is to ultimately create a compressed, deduplicated, read-only file system. While it is possible to disable all except for read-only, disabling it defeats the purpose. &lt;br /&gt;
&lt;br /&gt;
DWARFS software project also intends to compete (performance-wise) with [[SquashFS]] at file system creation, in that a given directory, folder, or path is scanned, hashed, (optionally categorized) before the contents are compressed, adding only the unique copies. [[SquashFS]] tends to add and hash files as it creates the file system, similar to how [[7-Zip]] or [[ZIP]] files for instance are created, with the apparent ability to detect and avoid adding duplicate files during creation process that is unique to the likes of [[SquashFS]] and DWARFS, which however is considered slower, generally double-handling compared to DWARFS which does these during the scanning phase.&lt;br /&gt;
&lt;br /&gt;
The developer's original motivation was with, &amp;quot;several hundred different versions of Perl that were taking up something around 30 gigabytes of disk space&amp;quot; and that there, &amp;quot;was unwilling to spend more than 10% of my hard drive keeping them around for when I happened to need them.&amp;quot;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs?tab=readme-ov-file#history History section - DWARFS - GitHub]&amp;lt;/ref&amp;gt; This may put the project in line for competing with &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt;, which is a Versioning Control System (VCS), that is used to record changes to a given project at a more atomic level, compressing (and using zlib) changes with each commit, however, unlike &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; which introduces rather steep learning curves, contrasting to just adding several versions of the same software project into an &amp;quot;archive&amp;quot; is arguably more trivial to do. Ultimately, DWARFS, like [[SquashFS]] has many other potential use-cases, rather than whatever they were intentionally designed for, making it a somewhat popular choice in the race against other forms of archivers and software/file distribution methods, without requiring the use of bespoke compression software that happens to be ranked among the top in [https://www.mattmahoney.net/dc/text.html Matt Mahoney's data compression benchmarks].&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
DWARFS files begins with the hexadecimal {{magic|44 57 41 52 46 53}} which translates to &amp;quot;DWARFS&amp;quot; in ASCII.&amp;lt;ref&amp;gt;[https://bugs.astron.com/view.php?id=449 0000449: Add magic for the DWARFS compressed file system format - bugs.astron.com]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Create an extremely compressed DWARFS image, without history, all root owned contents, sha3-512 hash algorithm, idle task (lowest priority) from present directory to &amp;lt;code&amp;gt;example.dwarfs&amp;lt;/code&amp;gt;:&lt;br /&gt;
  mkdwarfs --input . --output=example.dwarfs --block-size-bits=26 --compression=lzma:level=9:extreme --compress-niceness=10 --schema-compression=lzma:level=9:extreme \&lt;br /&gt;
  --metadata-compression=lzma:level=9:extreme --no-history --pack-metadata=all,force --file-hash=sha3-512 --set-owner=0 --set-group=0 --no-history-timestamp \&lt;br /&gt;
  --no-create-timestamp --no-history-command-line&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;mkdwarfs&amp;lt;/code&amp;gt; only features ==&lt;br /&gt;
The following below illustrates features that are only available upon creating the DWARFS file. Once the DWARFS file has been created, the only way to change these is to use &amp;lt;code&amp;gt;--recompress=all&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Choice of available compression===&lt;br /&gt;
As of version 0.12.4, the following compressors are available:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Switch&lt;br /&gt;
| Comments&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/null.cpp null]&amp;lt;/code&amp;gt;&lt;br /&gt;
| No compression.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/null.cpp#L110 null.cpp (line 110) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/lzma.cpp lzma]&amp;lt;/code&amp;gt;&lt;br /&gt;
| liblzma compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/lzma.cpp#L413 lzma.cpp (line 413) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;, under modern [[Linux]] environments, [[XZ]]'s liblzma is used.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/zstd.cpp zstd]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Zstandard|libzstd]] compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/zstd.cpp#L179 zstd.cpp (line 179) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/lz4.cpp lz4]&amp;lt;/code&amp;gt;&lt;br /&gt;
| lib[[LZ4|lz4]] compression,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/lz4.cpp#L186 lz4.cpp (line 186) - DWARFS - GitHub]&amp;lt;/ref&amp;gt; choice of either LZ4HC or LZ4 compression are available.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/brotli.cpp brotli]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Brotli]] compressor&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/brotli.cpp#L169 brotli.cpp (line 169) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/flac.cpp flac]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[FLAC]] compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/flac.cpp#L496 flac.cpp (line 496) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/ricepp.cpp ricepp]&amp;lt;/code&amp;gt;&lt;br /&gt;
| RICEPP compression, likely [[wikipedia:Golomb coding|Golomb coding]]&amp;lt;ref&amp;gt;[https://github.com/glampert/compression-algorithms/blob/master/rice.hpp#L7-L9 rice.hpp (lines 7-9) - compression-algorithms - GitHub]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/ricepp.cpp#L260 ricepp.cpp (line 260) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Choice of available hash for duplication detection===&lt;br /&gt;
Since 0.7.0-RC1 introduced alternatives,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issuecomment-1295209723 Choice of hash for duplicate detection #92 post #5 - DWARFS - GitHub]&amp;lt;/ref&amp;gt; as of version [https://github.com/mhx/dwarfs/commits/main/src/checksum.cpp 0.12.4], the following hash algorithms are available:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Switch&lt;br /&gt;
| Remarks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=none&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disable file deduplication checks.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issuecomment-1295209723 Choice of hash for duplicate detection #92, post #5 - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=blake2b512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=blake2s256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=md5&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;quot;As of 2019, MD5 continues to be widely used, despite its well-documented weaknesses and deprecation by security experts.&amp;quot;&amp;lt;ref&amp;gt;[[wikipedia:MD5#Security|Security section of MD5 - Wikipedia]]&amp;lt;/ref&amp;gt; Vulnerabilities include collision attacks and preimage vulnerability.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=md5-sha1&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=ripemd160&amp;lt;/code&amp;gt;&lt;br /&gt;
| Appeared as a checksum test in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;de5ec99&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/de5ec99eca452d0ea2561bfcc6e9679683fa7463#diff-c4d301699de69e8106245704b87f73c0afa750915c8d396494c558aa3aaf3ab2R55 Commit de5ec99 - test/checksum_test.cpp (line 55) - test(checksum): add checksum tests - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Formerly used hash algorithm.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issue-1299801734 Choice of hash for duplicate detection #92, post #1 - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;Vulnerable to collision attacks.&amp;lt;ref&amp;gt;[[wikipedia:SHA-1#Attacks Attacks section of SHA-1 - Wikipedia]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha384&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-384&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512-224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512-256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=shake128&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disabled by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;afbd85e&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/afbd85e4b1aad52b651fd42dc182e8109d0fa8b1 Commit afbd85e - fix(checksum): disable extended output algorithms (e.g. shake(128|256)) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=shake256&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disabled by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;afbd85e&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/afbd85e4b1aad52b651fd42dc182e8109d0fa8b1 Commit afbd85e - fix(checksum): disable extended output algorithms (e.g. shake(128|256)) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sm3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=xxh3-64&amp;lt;/code&amp;gt;&lt;br /&gt;
| Added by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;7ded26d&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/7ded26d6a398af10fb05957b2fb4891cc533600c Commit 7ded26d - feat(checksum): add hexdigest() method - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=xxh3-128&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current default choice when not specified.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/releases/tag/v0.7.0-RC1 v0.7.0-RC1 - DWARFS releases by tag - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://github.com/mhx/dwarfs DWARFS project page (GitHub)]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/DWARFS</id>
		<title>DWARFS</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/DWARFS"/>
				<updated>2025-08-17T12:27:38Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: More typo fixes with mentioning of &amp;quot;DwarFS&amp;quot; instead of DWARFS. Named the project page in Links section as appropriate.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|name=DWARFS&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Filesystem&lt;br /&gt;
|compression=lossless, optional&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/dwarfs#L27 44 57 41 52 46 53]&lt;br /&gt;
|released=2020 &amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/releases/tag/release-0.1.0 Release 0.1.0 - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
'''D'''eduplicating '''W'''arp-speed '''A'''dvanced '''R'''ead-only '''F'''ile '''S'''ystem (DWARFS) is a read-only filesystem that optionally supports no compression (via &amp;lt;code&amp;gt;--compress-level=0&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--compression=null&amp;lt;/code&amp;gt; for instance) and no deduplication (via &amp;lt;code&amp;gt;--file-hash none&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
It is developed by Marcus Holland-Moritz and when compared to Squashfs, DWARFS also offers a choice of hashing algorithms,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92 Choice of hash for duplicate detection #92 - GitHub]&amp;lt;/ref&amp;gt; as well as a tool for checking DWARFS image via &amp;lt;code&amp;gt;dwarfsck&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
At maximum compression levels using LZMA, DWARFS (using &amp;lt;code&amp;gt;--compression=lzma:level=9:extreme&amp;lt;/code&amp;gt;) can produce smaller file size compared to SquashFS with the rough equivalent of using XZ as &amp;lt;code&amp;gt;-comp xz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The software is currently available for both Unix-like (generally [[Linux]]) and [[Microsoft Windows]], with the caveat that, &amp;quot;Support for the Windows operating system is currently experimental. Having worked pretty much exclusively in a Unix world for the past two decades, my experience with Windows development is rather limited and I'd expect there to definitely be bugs and rough edges in the Windows code.&amp;quot;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs?tab=readme-ov-file#windows-support Windows Support section of README.md - DWARFS - GitHub]&amp;lt;/ref&amp;gt; There is even [https://formulae.brew.sh/formula/dwarfs &amp;lt;code&amp;gt;homebrew&amp;lt;/code&amp;gt; formulae] for [[macOS]].&lt;br /&gt;
&lt;br /&gt;
See also [[Squashfs]].&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
The aim with this software project is to ultimately create a compressed, deduplicated, read-only file system. While it is possible to disable all except for read-only, disabling it defeats the purpose. &lt;br /&gt;
&lt;br /&gt;
DWARFS software project also intends to compete (performance-wise) with [[SquashFS]] at file system creation, in that a given directory, folder, or path is scanned, hashed, (optionally categorized) before the contents are compressed, adding only the unique copies. [[SquashFS]] tends to add and hash files as it creates the file system, similar to how [[7-Zip]] or [[ZIP]] files for instance are created, with the apparent ability to detect and avoid adding duplicate files during creation process that is unique to the likes of [[SquashFS]] and DWARFS, which however is considered slower, generally double-handling compared to DWARFS which does these during the scanning phase.&lt;br /&gt;
&lt;br /&gt;
The developer's original motivation was with, &amp;quot;several hundred different versions of Perl that were taking up something around 30 gigabytes of disk space&amp;quot; and that there, &amp;quot;was unwilling to spend more than 10% of my hard drive keeping them around for when I happened to need them.&amp;quot;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs?tab=readme-ov-file#history History section - DWARFS - GitHub]&amp;lt;/ref&amp;gt; This may put the project in line for competing with &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt;, which is a Versioning Control System (VCS), that is used to record changes to a given project at a more atomic level, compressing (and using zlib) changes with each commit, however, unlike &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; which introduces rather steep learning curves, contrasting to just adding several versions of the same software project into an &amp;quot;archive&amp;quot; is arguably more trivial to do. Ultimately, DWARFS, like [[SquashFS]] has many other potential use-cases, rather than whatever they were intentionally designed for, making it a somewhat popular choice in the race against other forms of archivers and software/file distribution methods, without requiring the use of bespoke compression software that happens to be ranked among the top in [https://www.mattmahoney.net/dc/text.html Matt Mahoney's data compression benchmarks].&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
DWARFS files begins with the hexadecimal {{magic|44 57 41 52 46 53}} which translates to &amp;quot;DWARFS&amp;quot; in ASCII.&amp;lt;ref&amp;gt;[https://bugs.astron.com/view.php?id=449 0000449: Add magic for the DWARFS compressed file system format - bugs.astron.com]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Create an extremely compressed DWARFS image, without history, all root owned contents, sha3-512 hash algorithm, idle task (lowest priority) from present directory to &amp;lt;code&amp;gt;example.dwarfs&amp;lt;/code&amp;gt;:&lt;br /&gt;
  mkdwarfs --input . --output=example.dwarfs --block-size-bits=26 --compression=lzma:level=9:extreme --compress-niceness=10 --schema-compression=lzma:level=9:extreme \&lt;br /&gt;
  --metadata-compression=lzma:level=9:extreme --no-history --pack-metadata=all,force --file-hash=sha3-512 --set-owner=0 --set-group=0 --no-history-timestamp \&lt;br /&gt;
  --no-create-timestamp --no-history-command-line&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;mkdwarfs&amp;lt;/code&amp;gt; only features ==&lt;br /&gt;
The following below illustrates features that are only availble upon creating the DWARFS file. Once the DWARFS file has been created, the only way to change these is to use &amp;lt;code&amp;gt;--recompress=all&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Choice of available compression===&lt;br /&gt;
As of version 0.12.4, the following compressors are available:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Switch&lt;br /&gt;
| Comments&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/null.cpp null]&amp;lt;/code&amp;gt;&lt;br /&gt;
| No compression.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/null.cpp#L110 null.cpp (line 110) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/lzma.cpp lzma]&amp;lt;/code&amp;gt;&lt;br /&gt;
| liblzma compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/lzma.cpp#L413 lzma.cpp (line 413) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;, under modern [[Linux]] environments, [[XZ]]'s liblzma is used.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/zstd.cpp zstd]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Zstandard|libzstd]] compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/zstd.cpp#L179 zstd.cpp (line 179) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/lz4.cpp lz4]&amp;lt;/code&amp;gt;&lt;br /&gt;
| lib[[LZ4|lz4]] compression,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/lz4.cpp#L186 lz4.cpp (line 186) - DWARFS - GitHub]&amp;lt;/ref&amp;gt; choice of either LZ4HC or LZ4 compression are available.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/brotli.cpp brotli]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Brotli]] compressor&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/brotli.cpp#L169 brotli.cpp (line 169) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/flac.cpp flac]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[FLAC]] compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/flac.cpp#L496 flac.cpp (line 496) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/ricepp.cpp ricepp]&amp;lt;/code&amp;gt;&lt;br /&gt;
| RICEPP compression, likely [[wikipedia:Golomb coding|Golomb coding]]&amp;lt;ref&amp;gt;[https://github.com/glampert/compression-algorithms/blob/master/rice.hpp#L7-L9 rice.hpp (lines 7-9) - compression-algorithms - GitHub]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/ricepp.cpp#L260 ricepp.cpp (line 260) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Choice of available hash for duplication detection===&lt;br /&gt;
Since 0.7.0-RC1 introduced alternatives,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issuecomment-1295209723 Choice of hash for duplicate detection #92 post #5 - DWARFS - GitHub]&amp;lt;/ref&amp;gt; as of version [https://github.com/mhx/dwarfs/commits/main/src/checksum.cpp 0.12.4], the following hash algorithms are available:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Switch&lt;br /&gt;
| Remarks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=none&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disable file deduplication checks.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issuecomment-1295209723 Choice of hash for duplicate detection #92, post #5 - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=blake2b512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=blake2s256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=md5&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;quot;As of 2019, MD5 continues to be widely used, despite its well-documented weaknesses and deprecation by security experts.&amp;quot;&amp;lt;ref&amp;gt;[[wikipedia:MD5#Security|Security section of MD5 - Wikipedia]]&amp;lt;/ref&amp;gt; Vulnerabilities include collision attacks and preimage vulnerability.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=md5-sha1&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=ripemd160&amp;lt;/code&amp;gt;&lt;br /&gt;
| Appeared as a checksum test in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;de5ec99&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/de5ec99eca452d0ea2561bfcc6e9679683fa7463#diff-c4d301699de69e8106245704b87f73c0afa750915c8d396494c558aa3aaf3ab2R55 Commit de5ec99 - test/checksum_test.cpp (line 55) - test(checksum): add checksum tests - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Formerly used hash algorithm.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issue-1299801734 Choice of hash for duplicate detection #92, post #1 - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;Vulnerable to collision attacks.&amp;lt;ref&amp;gt;[[wikipedia:SHA-1#Attacks Attacks section of SHA-1 - Wikipedia]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha384&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-384&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512-224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512-256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=shake128&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disabled by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;afbd85e&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/afbd85e4b1aad52b651fd42dc182e8109d0fa8b1 Commit afbd85e - fix(checksum): disable extended output algorithms (e.g. shake(128|256)) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=shake256&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disabled by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;afbd85e&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/afbd85e4b1aad52b651fd42dc182e8109d0fa8b1 Commit afbd85e - fix(checksum): disable extended output algorithms (e.g. shake(128|256)) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sm3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=xxh3-64&amp;lt;/code&amp;gt;&lt;br /&gt;
| Added by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;7ded26d&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/7ded26d6a398af10fb05957b2fb4891cc533600c Commit 7ded26d - feat(checksum): add hexdigest() method - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=xxh3-128&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current default choice when not specified.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/releases/tag/v0.7.0-RC1 v0.7.0-RC1 - DWARFS releases by tag - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://github.com/mhx/dwarfs DWARFS project page (GitHub)]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/DWARFS</id>
		<title>DWARFS</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/DWARFS"/>
				<updated>2025-08-17T12:21:27Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: /* Choice of available compression */ Fixed inconsistent period mark placement.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|name=DWARFS&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Filesystem&lt;br /&gt;
|compression=lossless, optional&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/dwarfs#L27 44 57 41 52 46 53]&lt;br /&gt;
|released=2020 &amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/releases/tag/release-0.1.0 Release 0.1.0 - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
'''D'''eduplicating '''W'''arp-speed '''A'''dvanced '''R'''ead-only '''F'''ile '''S'''ystem (DWARFS) is a read-only filesystem that optionally supports no compression (via &amp;lt;code&amp;gt;--compress-level=0&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;--compression=null&amp;lt;/code&amp;gt; for instance) and no deduplication (via &amp;lt;code&amp;gt;--file-hash none&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
It is developed by Marcus Holland-Moritz and when compared to Squashfs, DWARFS also offers a choice of hashing algorithms,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92 Choice of hash for duplicate detection #92 - GitHub]&amp;lt;/ref&amp;gt; as well as a tool for checking DWARFS image via &amp;lt;code&amp;gt;dwarfsck&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
At maximum compression levels using LZMA, DWARFS (using &amp;lt;code&amp;gt;--compression=lzma:level=9:extreme&amp;lt;/code&amp;gt;) can produce smaller file size compared to SquashFS with the rough equivalent of using XZ as &amp;lt;code&amp;gt;-comp xz&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The software is currently available for both Unix-like (generally [[Linux]]) and [[Microsoft Windows]], with the caveat that, &amp;quot;Support for the Windows operating system is currently experimental. Having worked pretty much exclusively in a Unix world for the past two decades, my experience with Windows development is rather limited and I'd expect there to definitely be bugs and rough edges in the Windows code.&amp;quot;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs?tab=readme-ov-file#windows-support Windows Support section of README.md - DWARFS - GitHub]&amp;lt;/ref&amp;gt; There is even [https://formulae.brew.sh/formula/dwarfs &amp;lt;code&amp;gt;homebrew&amp;lt;/code&amp;gt; formulae] for [[macOS]].&lt;br /&gt;
&lt;br /&gt;
See also [[Squashfs]].&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
The aim with this software project is to ultimately create a compressed, deduplicated, read-only file system. While it is possible to disable all except for read-only, disabling it defeats the purpose. &lt;br /&gt;
&lt;br /&gt;
DWARFS software project also intends to compete (performance-wise) with [[SquashFS]] at file system creation, in that a given directory, folder, or path is scanned, hashed, (optionally categorized) before the contents are compressed, adding only the unique copies. [[SquashFS]] tends to add and hash files as it creates the file system, similar to how [[7-Zip]] or [[ZIP]] files for instance are created, with the apparent ability to detect and avoid adding duplicate files during creation process that is unique to the likes of [[SquashFS]] and DWARFS, which however is considered slower, generally double-handling compared to DWARFS which does these during the scanning phase.&lt;br /&gt;
&lt;br /&gt;
The developer's original motivation was with, &amp;quot;several hundred different versions of Perl that were taking up something around 30 gigabytes of disk space&amp;quot; and that there, &amp;quot;was unwilling to spend more than 10% of my hard drive keeping them around for when I happened to need them.&amp;quot;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs?tab=readme-ov-file#history History section - DWARFS - GitHub]&amp;lt;/ref&amp;gt; This may put the project in line for competing with &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt;, which is a Versioning Control System (VCS), that is used to record changes to a given project at a more atomic level, compressing (and using zlib) changes with each commit, however, unlike &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; which introduces rather steep learning curves, contrasting to just adding several versions of the same software project into an &amp;quot;archive&amp;quot; is arguably more trivial to do. Ultimately, DWARFS, like [[SquashFS]] has many other potential use-cases, rather than whatever they were intentionally designed for, making it a somewhat popular choice in the race against other forms of archivers and software/file distribution methods, without requiring the use of bespoke compression software that happens to be ranked among the top in [https://www.mattmahoney.net/dc/text.html Matt Mahoney's data compression benchmarks].&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
DWARFS files begins with the hexadecimal {{magic|44 57 41 52 46 53}} which translates to &amp;quot;DWARFS&amp;quot; in ASCII.&amp;lt;ref&amp;gt;[https://bugs.astron.com/view.php?id=449 0000449: Add magic for the DWARFS compressed file system format - bugs.astron.com]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Create an extremely compressed DwarFS image, without history, all root owned contents, sha3-512 hash algorithm, idle task (lowest priority) from present directory to &amp;lt;code&amp;gt;example.dwarfs&amp;lt;/code&amp;gt;:&lt;br /&gt;
  mkdwarfs --input . --output=example.dwarfs --block-size-bits=26 --compression=lzma:level=9:extreme --compress-niceness=10 --schema-compression=lzma:level=9:extreme \&lt;br /&gt;
  --metadata-compression=lzma:level=9:extreme --no-history --pack-metadata=all,force --file-hash=sha3-512 --set-owner=0 --set-group=0 --no-history-timestamp \&lt;br /&gt;
  --no-create-timestamp --no-history-command-line&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;code&amp;gt;mkdwarfs&amp;lt;/code&amp;gt; only features ==&lt;br /&gt;
The following below illustrates features that are only availble upon creating the DWARFS file. Once the DWARFS file has been created, the only way to change these is to use &amp;lt;code&amp;gt;--recompress=all&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Choice of available compression===&lt;br /&gt;
As of version 0.12.4, the following compressors are available:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Switch&lt;br /&gt;
| Comments&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/null.cpp null]&amp;lt;/code&amp;gt;&lt;br /&gt;
| No compression.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/null.cpp#L110 null.cpp (line 110) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/lzma.cpp lzma]&amp;lt;/code&amp;gt;&lt;br /&gt;
| liblzma compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/lzma.cpp#L413 lzma.cpp (line 413) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;, under modern [[Linux]] environments, [[XZ]]'s liblzma is used.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/zstd.cpp zstd]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Zstandard|libzstd]] compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/zstd.cpp#L179 zstd.cpp (line 179) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/lz4.cpp lz4]&amp;lt;/code&amp;gt;&lt;br /&gt;
| lib[[LZ4|lz4]] compression,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/lz4.cpp#L186 lz4.cpp (line 186) - DWARFS - GitHub]&amp;lt;/ref&amp;gt; choice of either LZ4HC or LZ4 compression are available.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/brotli.cpp brotli]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[Brotli]] compressor&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/brotli.cpp#L169 brotli.cpp (line 169) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/flac.cpp flac]&amp;lt;/code&amp;gt;&lt;br /&gt;
| [[FLAC]] compression&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/flac.cpp#L496 flac.cpp (line 496) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--compression=[https://github.com/mhx/dwarfs/blob/main/src/compression/ricepp.cpp ricepp]&amp;lt;/code&amp;gt;&lt;br /&gt;
| RICEPP compression, likely [[wikipedia:Golomb coding|Golomb coding]]&amp;lt;ref&amp;gt;[https://github.com/glampert/compression-algorithms/blob/master/rice.hpp#L7-L9 rice.hpp (lines 7-9) - compression-algorithms - GitHub]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/blob/main/src/compression/ricepp.cpp#L260 ricepp.cpp (line 260) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Choice of available hash for duplication detection===&lt;br /&gt;
Since 0.7.0-RC1 introduced alternatives,&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issuecomment-1295209723 Choice of hash for duplicate detection #92 post #5 - DWARFS - GitHub]&amp;lt;/ref&amp;gt; as of version [https://github.com/mhx/dwarfs/commits/main/src/checksum.cpp 0.12.4], the following hash algorithms are available:&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;6&amp;quot;&lt;br /&gt;
| Switch&lt;br /&gt;
| Remarks&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=none&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disable file deduplication checks.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issuecomment-1295209723 Choice of hash for duplicate detection #92, post #5 - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=blake2b512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=blake2s256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=md5&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;quot;As of 2019, MD5 continues to be widely used, despite its well-documented weaknesses and deprecation by security experts.&amp;quot;&amp;lt;ref&amp;gt;[[wikipedia:MD5#Security|Security section of MD5 - Wikipedia]]&amp;lt;/ref&amp;gt; Vulnerabilities include collision attacks and preimage vulnerability.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=md5-sha1&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=ripemd160&amp;lt;/code&amp;gt;&lt;br /&gt;
| Appeared as a checksum test in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;de5ec99&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/de5ec99eca452d0ea2561bfcc6e9679683fa7463#diff-c4d301699de69e8106245704b87f73c0afa750915c8d396494c558aa3aaf3ab2R55 Commit de5ec99 - test/checksum_test.cpp (line 55) - test(checksum): add checksum tests - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha1&amp;lt;/code&amp;gt;&lt;br /&gt;
| Formerly used hash algorithm.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/issues/92#issue-1299801734 Choice of hash for duplicate detection #92, post #1 - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt;Vulnerable to collision attacks.&amp;lt;ref&amp;gt;[[wikipedia:SHA-1#Attacks Attacks section of SHA-1 - Wikipedia]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha384&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-384&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha3-512&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512-224&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sha512-256&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=shake128&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disabled by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;afbd85e&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/afbd85e4b1aad52b651fd42dc182e8109d0fa8b1 Commit afbd85e - fix(checksum): disable extended output algorithms (e.g. shake(128|256)) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=shake256&amp;lt;/code&amp;gt;&lt;br /&gt;
| Disabled by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;afbd85e&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/afbd85e4b1aad52b651fd42dc182e8109d0fa8b1 Commit afbd85e - fix(checksum): disable extended output algorithms (e.g. shake(128|256)) - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=sm3&amp;lt;/code&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=xxh3-64&amp;lt;/code&amp;gt;&lt;br /&gt;
| Added by author in &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; hash &amp;lt;code&amp;gt;7ded26d&amp;lt;/code&amp;gt;.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/commit/7ded26d6a398af10fb05957b2fb4891cc533600c Commit 7ded26d - feat(checksum): add hexdigest() method - DWARFS - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--file-hash=xxh3-128&amp;lt;/code&amp;gt;&lt;br /&gt;
| Current default choice when not specified.&amp;lt;ref&amp;gt;[https://github.com/mhx/dwarfs/releases/tag/v0.7.0-RC1 v0.7.0-RC1 - DWARFS releases by tag - GitHub]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* https://github.com/mhx/dwarfs&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	<entry>
		<id>http://fileformats.archiveteam.org/wiki/FLAC</id>
		<title>FLAC</title>
		<link rel="alternate" type="text/html" href="http://fileformats.archiveteam.org/wiki/FLAC"/>
				<updated>2025-08-17T12:17:59Z</updated>
		
		<summary type="html">&lt;p&gt;Anonymoususer852: Updated http links; songbird is blank page, dustbury returns 404. Updated FormatInfo.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FormatInfo&lt;br /&gt;
|formattype=electronic&lt;br /&gt;
|subcat=Audio and Music&lt;br /&gt;
|extensions={{ext|flac}}&lt;br /&gt;
|mimetypes={{mimetype|audio/x-flac}},{{mimetype|audio/flac}}&lt;br /&gt;
|compression=lossless, mandatory&lt;br /&gt;
|pronom={{PRONOM|fmt/279}}&lt;br /&gt;
|wikidata={{wikidata|Q27881556}}&lt;br /&gt;
|magic=[https://github.com/file/file/blob/master/magic/Magdir/audio#L493 66 4C 61 43]&lt;br /&gt;
}}&lt;br /&gt;
'''FLAC''' is a Free Lossless Audio Codec. It can encode audio with a PCM bit resolution up to 32 bits per sample and sampling rates up to 640 kHz. FLAC-encoded audio is usually found either in a native container (which has the extension &amp;lt;code&amp;gt;.flac&amp;lt;/code&amp;gt;), or in an [[Ogg]] container (when it's known as OggFLAC).&lt;br /&gt;
&lt;br /&gt;
The format is open and royalty-free. The reference implementation is cross-platform and dual-licensed, command-line utilities (e.g. encoder, decoder and metadata editor) use GNU GPL and code libraries use BSD.&lt;br /&gt;
&lt;br /&gt;
FLAC is suitable for archiving for many reasons:&lt;br /&gt;
* open format&lt;br /&gt;
* support for metadata tagging&lt;br /&gt;
* lossless (no generation loss if you need to convert to another format)&lt;br /&gt;
* disk size effective (audio is typically reduced to 50-60% of original size)&lt;br /&gt;
* data integrity&lt;br /&gt;
* error resistant (bit faults are contained within a frame, typically a fraction of a second)&lt;br /&gt;
&lt;br /&gt;
== Identification ==&lt;br /&gt;
When FLAC is used as a file format, it begins with the ASCII signature &amp;quot;{{magic|fLaC}}&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
In rare cases, this signature may appear following an ID3v2 segment; see [[ID3#Identification]].&lt;br /&gt;
&lt;br /&gt;
== Playback ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
&lt;br /&gt;
Many home stereo and portable hardware music players support the FLAC format. See the [http://flac.sourceforge.net/links.html FLAC links] page for an up-to-date list.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
&lt;br /&gt;
A number of popular audio players support the FLAC format, including:&lt;br /&gt;
&lt;br /&gt;
* [https://amarok.kde.org/ Amarok] (cross-platform, open source)&lt;br /&gt;
* [https://www.foobar2000.org/ foobar2000] (Windows, non-commercial)&lt;br /&gt;
* [https://www.mediamonkey.com/ MediaMonkey] (Windows, commercial)&lt;br /&gt;
* [https://www.videolan.org/vlc/index.html VLC] (cross-platform, open source)&lt;br /&gt;
* [https://winamp.com/ Winamp] (Windows, commercial)&lt;br /&gt;
&lt;br /&gt;
FLAC is also natively supported by Mozilla's Firefox browser, starting from Firefox 51. For more software products which support FLAC, see the [http://flac.sourceforge.net/links.html FLAC links page]&lt;br /&gt;
&lt;br /&gt;
== Specifications ==&lt;br /&gt;
* [https://xiph.org/flac/format.html FLAC Format Specification]&lt;br /&gt;
&lt;br /&gt;
== Sample files ==&lt;br /&gt;
* {{DexvertSamples|audio/flac}}&lt;br /&gt;
* https://samples.mplayerhq.hu/flac/ (some are in .ogg format (OggFLAC format))&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://xiph.org/flac/ Home of FLAC project]&lt;br /&gt;
* [https://xiph.org/flac/format.html FLAC format description]&lt;br /&gt;
* [https://xiph.org/flac/faq.html FLAC FAQ] (hey, that rhymes!)&lt;br /&gt;
* [https://web.archive.org/web/20191230043206/https://www.dustbury.com/archives/17227 Commentary about Audi car not playing high-bitrate FLACs - Internet Archive copy]&lt;br /&gt;
* [https://dericed.com/2013/flac-in-the-archives/ FLAC in the archives]&lt;br /&gt;
* [https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats Mozilla Firefox supported media formats list]&lt;br /&gt;
* [https://www.ghacks.net/2016/08/30/firefox-51-flac-audio-codec-support/ Firefox 51: FLAC Audio Codec Support]&lt;/div&gt;</summary>
		<author><name>Anonymoususer852</name></author>	</entry>

	</feed>