RAR (file format)

From HandWiki
Short description: Archive file format
RAR file format
Filename extension.rar, .rev, .r00, .r01
Internet media typeapplication/vnd.rar
Uniform Type Identifier (UTI)com.rarlab.rar-archive
Magic number52 61 72 21 1A 07 00
(RAR 1.5 to 4.0)
52 61 72 21 1A 07 01 00
(RAR 5+) [1]
Developed byEugene Roshal
Initial releaseMarch 1993; 30 years ago (1993-03)[2]
Type of formatarchive format
Websiterarlab.com

RAR is a proprietary archive file format that supports data compression, error correction and file spanning.[3] It was developed in 1993 by Russian software engineer Eugene Roshal and the software is licensed by win.rar GmbH.[3] The name RAR stands for Roshal Archive.

File format

The filename extensions used by RAR are .rar for the data volume set and .rev for the recovery volume set. Previous versions of RAR split large archives into several smaller files, creating a "multi-volume archive". Numbers were used in the file extensions of the smaller files to keep them in the proper sequence. The first file used the extension .rar, then .r00 for the second, and then .r01, .r02, etc.

RAR compression applications and libraries (including GUI based WinRAR application for Windows, console rar utility for different OSes and others) are proprietary software, to which Alexander L. Roshal,[3] the elder brother of Eugene Roshal, owns the copyright. Version 3 of RAR is based on Lempel-Ziv (LZSS) and prediction by partial matching (PPM) compression, specifically the PPMd implementation of PPMII by Dmitry Shkarin.[4]

The minimum size of a RAR file is 20 bytes. The maximum size of a RAR file is 9,223,372,036,854,775,807 (263−1) bytes, which is one byte less than 8 EiB.[5]

Versions

The RAR file format revision history:

  • 1.3 – the first public version, does not have the "Rar!" signature.
  • 1.5 – changes are not known.
  • 2.0 – released with WinRAR 2.0 and Rar for MS-DOS 2.0; features the following changes:
    • Multimedia compression for true color bitmap images and uncompressed audio.
    • Up to 1 MB compression dictionary.
    • Introduces archives data recovery protection record.
  • 2.9[note 1] – released in WinRAR version 3.00. Feature changes in this version include:
    • File extensions is changed from {volume name}.rar, {volume name}.r00, {volume name}.r01, etc. to {volume name}.part001.rar, {volume name}.part002.rar, etc.
    • Encryption of both file data and file headers.
    • Improves compression algorithm using 4 MB dictionary size, Dmitry Shkarin's PPMII algorithm for file data.
    • Optional creation of "recovery volumes" (.rev files) for error correction, which can be used to reconstruct missing files in a volume set.
    • Support for archive files larger than 9 GB.
    • Support for Unicode file names stored in UTF-16 little endian format.
  • 5.0 – supported by WinRAR 5.0 and later. Changes in this version:
    • Maximum compression dictionary size increased to 1 GB (default for WinRAR 5.x is 32 MB and 4 MB for WinRAR 4.x).
    • Maximum path length for files in RAR and ZIP archives is increased up to 2048 characters.
    • Support for Unicode file names stored in UTF-8 format.
    • Faster compression and decompression.
    • Multicore decompression support.
    • Greatly improves recovery.
    • Optional AES encryption increased from 128-bit to 256-bit.
    • Optional 256-bit BLAKE2 file hash instead of a default 32-bit CRC32 file checksum.
    • Optional duplicate file detection.
    • Optional NTFS hard and symbolic links.
    • Optional Quick Open Record. Rar4 archives had to be parsed before opening as file names were spread throughout the archive, slowing operation particularly with slower devices such as optical drives, and reducing the integrity of damaged archives. Rar5 can optionally create a "quick open record", a special archive block at the end of the file that contains the names of files included, allowing archives to be opened faster.
    • Removes specialized compression algorithms for Itanium executables, text, raw audio (WAV), and raw image (BMP) files; consequently some files of these types compress better in the older RAR (4) format with these options enabled than in RAR5.
  • 5.0+ – partially supported by WinRAR 5.0 and later. Fully supported by WinRAR 7.0 and later. Changes in this version:
    • Compression dictionary up to 64 GB.
    • Improved compression by the addition of "Alternate search algorithm".
    • Maximum path length limit increased from 2047 to 65535 characters.
Notes
  1. WinRAR 5.0 and RAR for Android refer to this format as RAR4.

Software

Main page: Software:Comparison of file archivers

Operating system support

Software is available for Microsoft Windows (named WinRAR), Linux, FreeBSD, macOS, and Android; archive extraction is supported natively in ChromeOS. WinRAR supports the Windows graphical user interface (GUI); other versions named RAR run as console commands. Later versions are not compatible with some older operating systems previously supported:

  • WinRAR v6.10 supports Windows Vista and later.
  • WinRAR v6.02 is the last version that supports Windows XP.[6]
  • WinRAR v4.11 is the last version that supports Windows 2000.[6]
  • WinRAR v3.93 is the last version that supports Windows 95, 98, ME, and NT 4.0.[6]
  • WinRAR 2.06 is the last version to support Windows 3.1, Windows NT 3.1, Windows NT 3.5, Windows NT 3.51 and Win32s.
  • RAR v3.93 is the last version that supports MS-DOS and OS/2 on 32-bit x86 CPUs such as 80386 and later. It supports long file names in a Windows DOS box (except Windows NT), and uses the RSX DPMI extender.[7]
  • RAR v2.50 is the last version that supports MS-DOS and OS/2 on 16-bit x86 CPUs such as Intel 8086, 8088, and 80286.[7]

Creating RAR files

RAR files can be created legally only with commercial software WinRAR (Windows), RAR[8] for Android, command-line RAR (Windows, MS-DOS, macOS, Linux, and FreeBSD), and other software that has written permission from Alexander Roshal or uses copyrighted code under license from Roshal. The software license agreements forbid reverse engineering.[3]

Third-party software for extracting RAR files

Several programs can unpack the file format.

  • RARLAB distributes the C++ source code and binaries for a command-line unrar program.[9] The license permits its use to produce software capable of unpacking, but not creating, RAR archives, without having to pay a fee. It is not a free software license.
  • 7-Zip, a free and open-source program, starting from 7-Zip version 15.06 beta[10] can unpack RAR5 archives, using the RARLAB unrar code.
  • PeaZip is a free RAR unarchiver, licensed under the LGPL, it runs as a RAR extractor on Linux, macOS, and Windows, with a GUI. PeaZip supports both pre-RAR5 .rar files, and files in the new RAR5 format.[11]
  • The Unarchiver is a proprietary software unarchiver for RAR and other formats. It runs on macOS, and the command-line version, unar, also runs on Windows and on Linux, and is free software licensed under the LGPL.[12] It supports all versions of the RAR archive format, including RAR3 and RAR5.[13][14][15]
  • UNRARLIB (UniquE RAR File Library)[16] was an obsolete free software unarchiving library called "unrarlib", licensed under the GPL. It could only decompress archives created by RAR versions prior to 2.9; archives created by RAR 2.9 and later use different formats not supported by this library. The original development-team ended work on this library in 2007.[17][18][16]
  • libarchive, a free and open-source library for reading and writing a variety of archive formats, supports all RAR versions, including RAR5.[19] The code was written from scratch using RAR's “technote.txt” format description.[20]
  • Microsoft announced (May 23, 2023)[21] native support for additional archive formats in Windows 11, including tar, 7-zip, rar, gz and many others using the libarchive open-source project. Recently (July 16, 2023), there have been Insider builds that have native support. It’s said to come out in version 23H2.

Other uses of rar

The filename extension rar is also used by the unrelated Resource Adapter aRchive file format.[22][23][24][25][26][27]

See also

References

  1. RAR 5.0 technote
  2. "Interview by correspondence" (in ru). 1997–2002. http://www.compression.ru/arctest/descript/roshal.htm. 
  3. 3.0 3.1 3.2 3.3 win.rar GmbH. "RAR and WinRAR END USER LICENSE AGREEMENT (EULA)". http://www.rarlab.com/license.htm. "The author and holder of the copyright of the software is Alexander L. Roshal. [...] Neither RAR binary code, WinRAR binary code, UnRAR source or UnRAR binary code may be used or reverse engineered to re-create the RAR compression algorithm, which is proprietary, without written permission." 
  4. Christian Scheurer (2006-12-17). "unrarlib FAQ". http://www.unrarlib.org/faq.html. 
  5. "WinRAR description". http://www.softpedia.com/get/Compression-tools/WinRAR.shtml. 
  6. 6.0 6.1 6.2 WinRAR Release History; RARsoft.
  7. 7.0 7.1 "FreeDOS general questions.". http://comments.gmane.org/gmane.comp.emulators.freedos.general/14467. 
  8. "RAR - Apps on Google Play" (in en). https://play.google.com/store/apps/details?id=com.rarlab.rar&hl=en_US. 
  9. "RarLab downloads: freeware UnRAR source and binaries download". RarLab.com. http://www.rarlab.com/rar_add.htm.  The license states: "The source code of UnRAR utility is freeware".
  10. "7-Zip / Discussion / Open Discussion: 7-Zip 15.06 beta". http://sourceforge.net/p/sevenzip/discussion/45797/thread/c611394e/. 
  11. PeaZip website with info about RAR5 extraction.
  12. "MacPaw/XADMaster is licensed under the GNU Lesser General Public License v2.1". 2018-03-21. https://github.com/MacPaw/XADMaster/blob/master/LICENSE. 
  13. The Unarchiver Website contains unar. Accessed 5 February 2013.
  14. Free Software Foundation on The Unarchiver
  15. The Unarchiver changes. Accessed Jun 10, 2016. On Internet Archive.
  16. 16.0 16.1 "Home". UniquE RAR File Library. 2007. http://www.unrarlib.org/. 
  17. "Features". UniquE RAR File Library. 2002. http://www.unrarlib.org/features.html. 
  18. "FAQ". UniquE RAR File Library. December 2011. http://www.unrarlib.org/faq.html. 
  19. "List of formats supported by libarchive". https://github.com/libarchive/libarchive/wiki/LibarchiveFormats#archive-formats-supported. 
  20. "Support for RAR · Issue #151 · libarchive/Libarchive". https://github.com/libarchive/libarchive/issues/151. 
  21. Panay, Panos (2023-05-23). "Bringing the power of AI to Windows 11 – unlocking a new era of productivity for customers and developers with Windows Copilot and Dev Home" (in en-US). https://blogs.windows.com/windowsdeveloper/2023/05/23/bringing-the-power-of-ai-to-windows-11-unlocking-a-new-era-of-productivity-for-customers-and-developers-with-windows-copilot-and-dev-home/. 
  22. "The Java EE 5 Tutorial". https://docs.oracle.com/javaee/5/tutorial/doc/bncjy.html. 
  23. "RAR abbreviation stands for Resource Adapter Archive". https://www.allacronyms.com/RAR/Resource_Adapter_Archive. 
  24. "Resource Adapter aRchive - How is Resource Adapter aRchive abbreviated?". https://acronyms.thefreedictionary.com/Resource+Adapter+aRchive. 
  25. "9 Packaging and Deploying Resource Adapters". https://docs.oracle.com/cd/E12839_01/web.1111/e13732/packdepl.htm#ADAPT228. 
  26. "Apache Maven RAR Plugin". https://maven.apache.org/plugins/maven-rar-plugin/. 
  27. "java - Is Resource Adapter Archive (RAR) the same as Roshal ARchive (RAR)? - Stack Overflow". https://stackoverflow.com/questions/30172130/is-resource-adapter-archive-rar-the-same-as-roshal-archive-rar. 

External links