Type code

related topics
{system, computer, user}
{math, number, function}
{theory, work, human}

A type code is the only mechanism used in pre-Mac OS X versions of the Macintosh operating system to denote a file's format, in a manner similar to file extensions in other operating systems. Codes are four-byte OSTypes. For example, the type code for a HyperCard stack is STAK; the type code of any application program is APPL.

Mac OS X retains type codes, but supports filename extensions as well. The deprecation of type codes (and creator codes) over the older extension system, popularised by PDP-11 systems (RT-11, RSX-11, etc.), CP/M, and most recently by Microsoft's MS-DOS, has been very controversial with Mac users. The type and creator system is considerably richer and more sophisticated than that provided by extensions, and many users felt that adopting DOS conventions is a backward step. They claim that type and creator information rightfully belongs to the metadata associated with a file, and is therefore illogically placed within the file's name, where its presence can cause problems for the user. Apple defends the decision by saying that extensions have become the de facto standard for indicating file type, and they need to work seamlessly with the rest of the industry.

Type codes are not readily accessible for users to manipulate, although they can be viewed and changed with certain software, most notably the Mac OS X command line tools GetFileInfo and SetFile which are installed as part of the developer tools into /Developer/Tools, or the ResEdit utility available for older Macs.

Changes done in Mac OS X v10.4 with the addition of Uniform Type Identifiers suggest that Apple heard those criticisms and is working on a file type successor to both type code and filename extensions.[1]

References

External links

Full article ▸

related documents
Pseudorandom noise
Alternating bit protocol
Nano (text editor)
Challenge-handshake authentication protocol
Application programming interface
Amiga E
B (programming language)
XML Metadata Interchange
Network mapping
Java remote method invocation
Visual Instruction Set
Baud
Truncated binary exponential backoff
Distributed database
Wavelet compression
B3ZS
Gnumeric
GUIDO music notation
Scanline rendering
Netwide Assembler
Freedb
Layout engine
GNUstep
Wikipedia:Federal Standard 1037C terms/telecommunications encryption terms
Cacti (software)
Binary image
Sinclair Scientific
SCORM
Squeak
End-to-end connectivity