MacBinary

Last updated
MacBinary
Filename extension
.bin
Internet media type
application/macbinary
application/x-macbinary
Uniform Type Identifier (UTI) com.apple.macbinary-archive

MacBinary is a file format that combines the data fork and the resource fork of a classic Mac OS file into a single file, along with HFS's extended metadata. The resulting file is suitable for transmission over FTP, the World Wide Web, and electronic mail. The documents can also be stored on computers that run operating systems with no HFS support, such as Unix or Windows.

Contents

MacBinary was widely supported on the Macintosh and was built into most communications programs on that platform. Similar solutions were built into most data compression applications on the Mac, and although these did not require MacBinary to survive transmission across non-Mac systems, MacBinary was often added in these cases to preserve longer filenames and other features.

The dual-fork nature of the HFS system was not used on Mac OS X, and MacBinary has largely disappeared.

Description

In contrast to other computers of the era, Macintosh applications included both computer code as well as a large number of resources that were used by the operating system (OS) itself. These resources were also widely used in documents to store rich media like sounds and images. However, the resource system had the significant limitation that the maximum size of any single resource was only 32 kB, far too small for storing document data. To address this, Apple introduced the concept of forks, allowing any file in the filesystem to have both a resource fork and a data fork. Physically these were separate files, but the OS would ensure the two separate files were always treated as a single object, so dragging it to a floppy disk in the Finder would copy both forks.

This presented a serious problem when the file had to be stored on other computer systems. Those systems, unaware of the fork concept, would have to store the two forks as separate files. This presented the possibility that the two would be separated at some point, or not properly recombined when they were transmitted back to the Mac. This problem led to a number of solutions that combined the two forks together into a single file, and then automatically pulling them back apart when they reached another Mac. MacBinary was one of the most popular solutions, although BinHex was also used on UseNet, where data transfer was not 8-bit clean. Apple's own solutions, AppleSingle and AppleDouble, were never widely adopted in the user community.

Files encoded with MacBinary, regardless of the version, usually have a .bin or .macbin file extension appended to the ends of their filenames. E-mail programs such as Eudora can extract and decode MacBinary mail messages. Most dedicated FTP programs for the Mac, such as Fetch and Transmit, transparently decode MacBinary files they download.

MacBinary is similar to BinHex, but MacBinary produces binary files as opposed to ASCII text. Thus, MacBinary files are smaller than BinHex files, but older applications and servers are more likely to corrupt them.

History

The first incarnation of MacBinary was released in 1985. The standard was originally specified by Dennis Brothers (author of the terminal program MacTEP and later an Apple employee), BinHex author Yves Lempereur, PackIt author Harry Chesley, et al. then added support for MacBinary into BinHex 5.0, using MacBinary to combine the forks instead of his own methods. Most terminal programs and internet utilities added built-in MacBinary support during this period as well.

Two years later it was updated to MacBinary II, to accommodate changes in Mac OS. MacBinary II remained compatible with subsequent updates of the operating system for some time. This changed with the release of Mac OS 8, which necessitated the release of MacBinary III in 1996. In the meantime, Apple itself had released the AppleSingle and AppleDouble formats, which serve the same purpose as MacBinary, but correct some problems with it.

Related Research Articles

Hierarchical File System (HFS) is a proprietary file system developed by Apple Inc. for use in computer systems running Mac OS. Originally designed for use on floppy and hard disks, it can also be found on read-only media such as CD-ROMs. HFS is also referred to as Mac OS Standard, while its successor, HFS Plus, is also called Mac OS Extended.

The resource fork is a fork or section of a file on Apple's classic Mac OS operating system, which was also carried over to the modern macOS for compatibility, used to store structured data along with the unstructured data stored within the data fork.

A text file is a kind of computer file that is structured as a sequence of lines of electronic text. A text file exists stored as data within a computer file system. In operating systems such as CP/M and DOS, where the operating system does not keep track of the file size in bytes, the end of a text file is denoted by placing one or more special characters, known as an end-of-file (EOF) marker, as padding after the last line in a text file. On modern operating systems such as Microsoft Windows and Unix-like systems, text files do not contain any special EOF character, because file systems on those operating systems keep track of the file size in bytes. Most text files need to have end-of-line delimiters, which are done in a few different ways depending on operating system. Some operating systems with record-orientated file systems may not use new line delimiters and will primarily store text files with lines separated as fixed or variable length records.

<span class="mw-page-title-main">Filename</span> Text string used to uniquely identify a computer file

A filename or file name is a name used to uniquely identify a computer file in a file system. Different file systems impose different restrictions on filename lengths.

uuencoding is a form of binary-to-text encoding that originated in the Unix programs uuencode and uudecode written by Mary Ann Horton at the University of California, Berkeley in 1980, for encoding binary data for transmission in email systems.

StuffIt is a discontinued family of computer software utilities for archiving and compressing files. Originally produced for the Macintosh, versions for Microsoft Windows, Linux (x86), and Sun Solaris were later created. The proprietary compression format used by the StuffIt utilities is also termed StuffIt.

The Apple Filing Protocol (AFP), formerly AppleTalk Filing Protocol, is a proprietary network protocol, and part of the Apple File Service (AFS), that offers file services for macOS, classic Mac OS, and Apple II computers. In OS X 10.8 Mountain Lion and earlier, AFP was the primary protocol for file services. Starting with OS X 10.9 Mavericks, Server Message Block (SMB) was made the primary file sharing protocol, with the ability to run an AFP server removed later in macOS 11 Big Sur. AFP supports Unicode file names, POSIX and access-control list permissions, resource forks, named extended attributes, and advanced file locking.

BinHex, originally short for "binary-to-hexadecimal", is a binary-to-text encoding system that was used on the classic Mac OS for sending binary files through e-mail. Originally a hexadecimal encoding, subsequent versions of BinHex are more similar to uuencode, but combined both "forks" of the Mac file system together along with extended file information. BinHexed files take up more space than the original files, but will not be corrupted by non-"8-bit clean" software.

Macintosh File System (MFS) is a volume format created by Apple Computer for storing files on 400K floppy disks. MFS was introduced with the original Apple Macintosh computer in January 1984.

HFS Plus or HFS+ is a journaling file system developed by Apple Inc. It replaced the Hierarchical File System (HFS) as the primary file system of Apple computers with the 1998 release of Mac OS 8.1. HFS+ continued as the primary Mac OS X file system until it was itself replaced with the Apple File System (APFS), released with macOS High Sierra in 2017. HFS+ is also one of the formats supported by the iPod digital music player.

In a computer file system, a fork is a set of data associated with a file-system object. File systems without forks only allow a single set of data for the contents, while file systems with forks allow multiple such contents. Every non-empty file must have at least one fork, often of default type, and depending on the file system, a file may have one or more other associated forks, which in turn may contain primary data integral to the file, or just metadata.

On the classic Mac OS, extensions were small pieces of code that extended the system's functionality. They were run initially at start-up time, and operated by a variety of mechanisms, including trap patching and other code modifying techniques. Initially an Apple developer hack, extensions became the standard way to provide a modular operating system. Large amounts of important system services such as the TCP/IP network stacks and USB and FireWire support were optional components implemented as extensions. The phrase "system extension" later came to encompass faceless background applications as well.

In the macOS, iOS, NeXTSTEP, and GNUstep programming frameworks, property list files are files that store serialized objects. Property list files use the filename extension .plist, and thus are often referred to as p-list files.

AppleSingle Format and AppleDouble Format are file formats developed by Apple Computer to store Mac OS "dual-forked" files on the Unix filesystem being used in A/UX, the Macintosh platform's first Unix-like operating system. AppleSingle combined both file forks and the related Finder meta-file information into a single file, whereas AppleDouble stored them as two separate files. Support for the formats was later added to Unix software such as NFS and MAE, but they saw little use outside this small market.

<span class="mw-page-title-main">PackIt</span>

PackIt is a software data compression utility for archiving and compressing files on the Apple Macintosh platform. It was the first such program to see widespread use on the Mac, and most Mac software archives accepted uploads only in PackIt format for some time. StuffIt, introduced in the summer of 1987, offered much improved compression, and PackIt quickly disappeared.

A hybrid disc is a disc, such as CD-ROM or Blu-ray, which contains multiple types of data which can be used differently on different devices. These include CD-ROM music albums containing video files viewable on a personal computer, or feature film Blu-rays containing interactive content when used with a PlayStation 3 game console.

Sidecar files, also known as buddy files or connected files, are computer files that store data which is not supported by the format of a source file.

A file format is a standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary or free.

<span class="mw-page-title-main">Classic Mac OS</span> Original operating system of Apple Mac (1984–2001)

Mac OS is the series of operating systems developed for the Macintosh family of personal computers by Apple Computer from 1984 to 2001, starting with System 1 and ending with Mac OS 9. The Macintosh operating system is credited with having popularized the graphical user interface concept. It was included with every Macintosh that was sold during the era in which it was developed, and many updates to the system software were done in conjunction with the introduction of new Macintosh systems.

<span class="mw-page-title-main">ZipIt</span> Mac OS data compression program

ZipIt is a shareware data compression utility for archiving and compressing files on the Classic Mac OS and Mac OS X platforms. It was designed to be highly compatible with PKZIP on MS-DOS machines, reading and writing those files as well as performing any necessary line ending conversion or MacBinary encoding to ensure the files were usable on both platforms. It had an advanced user interface and offered a number of automation features, including AppleScript support. First released in 1993, the latest version of ZipIt is version 2.2.2, released in late 2002.

References