EBZip

From Just Solve the File Format Problem
(Redirected from EBZ)
Jump to: navigation, search
File Format
Name EBZip
Ontology
Extension(s) .ebz
Compression lossless
Magic Bytes 45 42 5A 69 70 15 00 00 00 00
Released 1999[1]
Archiveteam1.png Majority of the links/citations are in Japanese.

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.

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 dserver or ebnetd 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[2], and allows faster dictionary lookups due to hard disks allowing random access.

The compression is lossless, initially using a modified zlib[3], then likely unmodified zlib by the original ebzip author[4]. Do keep in mind that not everything is compressed, EBZ format is not a container like ZIP for instance, selected files (typically CATALOGS and HONMON) are compressed and have their filenames bearing these extensions, e.g. HONMON.ebz.

Contents

History

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.[5][6] Versions before 2.1beta of dserver lacked compression, which was introduced as early as 1996-03-25 by Yura Shunsuke.[7] Gradually over time, Motoyuki Kasahara, a member of Software Research Associates (SRA) and the author of EB Library, began developing ndtpd which handles electronic dictionary or dictionaries over the network, replacing dserver.[8][9][10] The first release of such software was around 1997-06-04 as ndtpd-1.0beta0 (via FTP) with which it included eb which was a library. Earliest release on fj.sources was 1997-08-07 as ndtpd-1.0, which also describes the relationship between dserver and ndtpd, as shar.[11][12][13][14][15][16][17][18][19][20] Until the release of ndtpd-3.0alpha0 (2000-06-04), eb has always been included. EB Library began as a separate project with the first release in 1999-06-16 as eb-2.2. Both of these projects continued until the discontinuation of ndtpd (as a release) on 2003-05-24 with the version 3.1.5. eb remained to be maintained until 2010-03-08 with the version 4.4.3.

EBUZip

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,

  • The ability to use libdeflate algorithm at compile time, which, "is a library for fast, whole-buffer DEFLATE-based compression and decompression."[21], which was added on 2019-06-30.[22]. Additionally, the new maintainer provided benchmark results against uncompressed, zlib and libdeflate.[23]
    • 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 section on this which is covered in detail.
  • Fixes to work on a newer codebase, as opposed to maintaining a series of patches on top of libeb.[24]

Mr. Kazuhiro have also previously contributed to Mr. Kasahara's EBZip project, on 2000-06-24.[25].

Identification

A EBZ file begins with bytes 45 42 5a 69 70 15 00 00 00 00, in ASCII this would be "EBZip....".

Examples

These must be executed in the top level of (book) directory that contains CATALOGS file, otherwise it will default to your current directory $(pwd). See EPWING#Content structure for the directory structure of book layout. If you are using EBUZip, the name of the compiled binary is ebuzip, as opposed to ebzip.

Show information about the file:

 ebzip --information

Decompress files:

 ebzip --uncompress wikipedia-fpw

Compress files:

 ebzip wikipedia-fpw

Test files:

 ebzip --test wikipedia-fpw

Show help:

 ebzip --help

Sample file

Filename Main server download link Mirror server download link Notes
kanjidic_en.fpwebz.tar EDRDG.org USF.edu Use 7-Zip to open on Windows machines for instance, otherwise Tar should suffice.

Software (mostly Japanese only)

See also: Wikipedia:ja:EPWING#検索ソフトウェア

Links (mostly Japanese only)

References (mostly Japanese only)

  1. ChangeLog - SRA website mirrored on Internet Archive
  2. Kenkyusha dictionary CD and EPWING - sci.lang.japan NARKIVE - Internet Archive copy
  3. Last version released with internal zlib - README.altered - version 4.1.3 - Misty De Méo
  4. Internal zlib removed - Commit 742ddab (4.2) - Misty De Méo
  5. dserver/Electronic Book Dictionary server & clients (1/2) - AncientFJ - katsu.watanabe.name
  6. dserver/Electronic Book Dictionary server & clients (2/2) - AncientFJ - katsu.watanabe.name
  7. dserver 2.1-beta patch for compressed dictionary - AncientFJ - katsu.watanabe.name
  8. BookView 1.0 - AncientFJ - katsu.watanabe.name
  9. BookView 1.0.2 (Re: BookView 1.0) - AncientFJ - katsu.watanabe.name
  10. BookView 1.1 (1/3) - AncientFJ - katsu.watanabe.name
  11. ndtpd 1.0 (0/9) - AncientFJ - katsu.watanabe.name
  12. ndtpd 1.0 (1/9) - AncientFJ - katsu.watanabe.name
  13. ndtpd 1.0 (2/9) - AncientFJ - katsu.watanabe.name
  14. ndtpd 1.0 (3/9) - AncientFJ - katsu.watanabe.name
  15. ndtpd 1.0 (4/9) - AncientFJ - katsu.watanabe.name
  16. ndtpd 1.0 (5/9) - AncientFJ - katsu.watanabe.name
  17. ndtpd 1.0 (6/9) - AncientFJ - katsu.watanabe.name
  18. ndtpd 1.0 (7/9) - AncientFJ - katsu.watanabe.name
  19. ndtpd 1.0 (8/9) - AncientFJ - katsu.watanabe.name
  20. ndtpd 1.0 (9/9) - AncientFJ - katsu.watanabe.name
  21. README.md Overview section - libdeflate - GitHub
  22. EB Library with UTF-8 extension
  23. Compressing EPWING (using libdeflate)
  24. 010_debian.patch - eb-4.4.3-14 - sources.debian.org
  25. ChangeLog.1 (line 1371) - EB Library - Misty De Méo
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox