http://fileformats.archiveteam.org/api.php?action=feedcontributions&user=GreyCat&feedformat=atomJust Solve the File Format Problem - User contributions [en]2024-03-29T15:37:15ZUser contributionsMediaWiki 1.19.2http://fileformats.archiveteam.org/wiki/AppleDoubleAppleDouble2019-01-09T11:51:41Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Archiving<br />
|mimetypes={{mimetype|multipart/appledouble}}<br />
|pronom={{PRONOM|fmt/966}}, {{PRONOM|fmt/503}}<br />
|kaitai struct=apple_single_double<br />
}}<br />
[[AppleDouble]] is one of the systems used to store the [[Resource Fork]] of Macintosh files on filesystems not natively supporting it, something which became necessary when Apple moved to Unix-based operating systems instead of "classic" MacOS. [[AppleSingle]] is an alternative format to accomplish the same end, combining all the forks plus a metadata header in one file instead of keeping separate files like AppleDouble. While both AppleSingle and AppleDouble were introduced for use with early Unix-based Apple systems, AppleDouble survived as the main method of storing files with resource forks on OS X systems if a filesystem is used that doesn't directly support such forks.<br />
<br />
The AppleDouble format keeps the data fork of the file in its original format and filename (this is the main file, as used by non-Mac operating systems, and for many file formats, the only one that matters), and creates a second file with the resource fork as well as Finder metadata. The second file has the filename of the main file with "._" (a dot and an underscore) preceding it. If it was encoded for transmission, [[Base64]] was generally used.<br />
<br />
== Format detail links ==<br />
* [http://kaiser-edv.de/documents/AppleSingle_AppleDouble.pdf File format details]<br />
* RFC 1740 (describes various Mac-specific formats)<br />
<br />
== Metaformat files ==<br />
* {{Synalysis|urf}}<br />
<br />
== Utilities ==<br />
* [http://sourceforge.net/projects/macbinconv/ Mac Binary Converter]<br />
* [https://metacpan.org/pod/Mac::AppleSingleDouble Mac::AppleSingleDouble Perl library]<br />
<br />
== Other links ==<br />
* [[Wikipedia:AppleSingle and AppleDouble formats|Wikipedia article]]<br />
* [http://www.forensicswiki.org/wiki/AppleDouble_header_file Forensics Wiki article]<br />
* [http://tools.ietf.org/html/draft-newman-macbin-binhex-harmful-00 MacBinary and Binhex 4.0 considered harmful]<br />
* [http://web.archive.org/web/20120602061209/http://support.apple.com/kb/TA20578 Apple KnowledgeBase notes about AppleDouble]<br />
<br />
[[Category:Macintosh]]<br />
[[Category:Filesystem]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/GIFGIF2019-01-04T21:13:02Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Graphics<br />
|extensions={{ext|gif}}<br />
|mimetypes={{mimetype|image/gif}}<br />
|locfdd={{LoCFDD|fdd000133}}<br />
|pronom={{PRONOM|fmt/3}}, {{PRONOM|fmt/4}}<br />
|uniform type={{UTI|com.compuserve.gif}}<br />
|kaitai struct=gif<br />
|released=1987<br />
}}<br />
'''Graphics Interchange Format''' ([[GIF]]) was introduced by the [[CompuServe]] online service in 1987, intended to provide a consistent and compact format for graphics to be downloaded on that service. Since the specifications were openly released, the format gained wide use in graphics software and on online services and bulletin board systems (BBSs), not just CompuServe; later it became a major Web graphic format. GIF's ability to have animation (unlike most still graphic formats) has caused it to gain some Internet notoriety and use in conjunction with "memes".<br />
<br />
== Patents ==<br />
In 1994, it became widely known that the format was encumbered by the use of the patent-protected [[LZW]] compression technology, for which its owner, Unisys, was demanding licencing terms and royalties for certain sorts of uses. This made GIF a less-than-free format, spurring a desire on the part of some people for an unencumbered format, which led to the creation of the [[PNG]] format. However, it took several years for PNG to get widespread support in software, and in the meantime the World Wide Web experienced meteoric growth with GIF still used as the primary graphics format (alongside [[JPEG]]), though eventually PNG did become widespread on the Web as well. The patent in question expired in the US in 2003, and in other countries in 2004, so it is no longer an issue.<br />
<br />
Another attempt at a patent-free format to replace GIF, [[Jeff's Image Format]] (JIF), never caught on.<br />
<br />
== Pronunciation ==<br />
There is much debate over whether to pronounce "GIF" with a hard or a soft G. The creators of the format at CompuServe pronounced GIF as "jif" with a soft "G" /ˈdʒɪf/ as in "gin". Steve Wilhite, the engineering lead at CompuServe, said that the intended pronunciation deliberately echoes the American peanut butter brand, [https://en.wikipedia.org/wiki/Jif_(peanut_butter) Jif], and CompuServe employees would often say "Choosy developers choose GIF", spoofing this brand's television commercials.<ref>http://www.olsenhome.com/gif/ GIF Pronunciation Page</ref> In addition, a sample GIF that was bundled with software released by CompuServe in 1989 contains metadata that includes the following line: "Oh, incidentally, it's pronounced 'JIF'". The original image and metadata can be viewed on a Unix-like operating system with the following command: <br />
<br />
$ curl http://www.olsenhome.com/gif/BOB_89A.GIF | strings | grep JIF<br />
% Total % Received % Xferd Average Speed Time Time Time Current<br />
Dload Upload Total Spent Left Speed<br />
100 37062 100 37062 0 0 158k 0 --:--:-- --:--:-- --:--:-- 196k<br />
|s,Oh, incidentally, it'spronounced "JIF"<br />
<br />
Both pronunciations are acceptable to the Oxford American Dictionaries, which named it the word of the year<ref>[http://www.poynter.org/latest-news/mediawire/195430/gif-as-a-verb-is-dictionarys-word-of-the-year/ GIF (as a verb) is dictionary’s word of the year]</ref> in 2012, in its supposed usage as a verb (which they don't seem to actually use in a sentence anywhere in their announcement). <br />
<br />
Some hard-G proponents say that the hard "g" is proper due to it standing for "graphics", which has a hard "g", but others cite the normal English pattern of pronouncing "g" soft when followed by an "i" (though, like most English spelling and pronunciation rules, it has exceptions like "gift"). <br />
<br />
In 2013, Wilhite again reaffirmed the soft-G pronunciation<ref>[http://www.huffingtonpost.com/2013/05/22/gif-pronunciation_n_3319345.html Even GIF Creator Can't Settle The Debate On The Pronunciation Of 'GIF']</ref>, but there are some that still refuse to accept it<ref>http://gizmodo.com/the-creator-of-the-gif-says-its-pronounced-jif-he-is-509179289 Creator of GIF is wrong</ref>.<br />
<br />
== Animated GIF ==<br />
Unlike most other graphic formats, GIF supports multiple-frame animated graphics in addition to single-image graphics. These animated GIFs are often used on web pages, sometimes for good reasons, sometimes as a poor man's video format, and all too often (especially during the early wave of Web popularity) to animate clip art and other images that would be better left motionless. In the 2010s, the use of animated GIFs for spreading Internet memes had a sudden and intense burst of popularity, and could sometimes be used in a very artistic manner.<br />
<br />
The GIF features used for animation seem to have been intended for slideshows, and not for the type of animation they came to be used for. In fact, the specification clearly states that "[GIF] is not intended as a platform for animation." The only missing element – a loop count – was supplied by Netscape's ''looping extension'' (see below).<br />
<br />
In the popular vernacular these days, "GIF" seems synonymous with "animated GIF", even though the format has a long history of use in static (non-animated) graphics. Much (though not all) use of static GIFs has shifted to PNG and other formats, leaving GIF in the niche of animated graphics.<br />
<br />
In response to the popularity of animated GIFs, as well as the fact that this is actually not a very efficient format for storage and transmission of animations (each frame must be included as a complete image, without the economies of compression used in animation formats that store only the changes between one frame and the next), some social-networking and image-hosting services have begun converting animated GIFs uploaded by users to other formats for display. For instance, Imgur uses its own [[GIFV]] format, which is actually an [[MP4]] video encapsulated as an element in an [[HTML]] 5 document, which is served with a .gifv extension. The result is that popular use of the term "GIF" now often refers to things that are not actually in that format; it seems to have taken on the meaning of "brief, small, silent animated sequence usually found on web pages or in social media feeds", without regard to their actual file format, so you have the peculiar situation where a static graphic in GIF format is not a "GIF" but a short, silent MP4 video ''is'' one. Language evolution is peculiar.<br />
<br />
A GIF can, apparently, also be a [https://twitter.com/bradheath/status/843930687455551488 deadly weapon].<br />
<br />
== Versions ==<br />
=== Version 87a ===<br />
The original version, released 1987-06-15. As a reference point, it supports:<br />
* Multiple images in a single file<br />
* Interlaced images<br />
* Background colors<br />
* Extensions, but each extension would have to be approved by CompuServe in order to avoid conflicts<br />
<br />
=== Version 89a ===<br />
Released 1990-07-31. Adds support for:<br />
* Binary transparency<br />
* Animation, though there is no way to indicate whether the animation should loop<br />
* Application extensions that don't require central coordination<br />
* Comment extensions<br />
* Plain Text extensions (an obsolete feature)<br />
<br />
=== Other versions ===<br />
There are no other official GIF version numbers.<br />
<br />
[[Jeff's Image Format]] is a GIF-like format identified by '''JIF99a'''. The [[file command]]'s database suggests that GIF-like formats identified by '''GIF94z''' ("ZIF") and '''FGF95a''' ("FGF") were experimented with.<br />
<br />
== Color format ==<br />
GIF images are always paletted. The number of colors in a palette can be any power of 2 from 2 to 256.<br />
<br />
If a GIF file contains multiple images, each may have its own palette. This makes it possible for animated GIFs to construct frames that exceed the usual limit of 256 colors<ref>[http://phil.ipal.org/tc.html True-Color GIF Example]</ref>. This technique is inefficient, and may result in very large files.<br />
<br />
== Format details ==<br />
A GIF file has a header (consisting of a signature, a ''screen descriptor'', and optionally a ''global color table''), followed by a sequence of tagged blocks of various types.<br />
<br />
Block type 0x21 is an ''extension''. Each extension has a byte indicating its type. GIF version 89a defines extension type 0xff to be an ''application extension'', which can be used to store arbitrary data.<br />
<br />
An application extension's specific type is given by an application identifier consisting of exactly 8 ASCII characters, plus a three-byte "authentication code" to reduce the chance of a conflict. In effect, this means it has an 11-byte identifier.<br />
<br />
=== Known application extensions ===<br />
<br />
* <code>"NETSCAPE" 0x32 0x2e 0x30 ("NETSCAPE2.0")</code><br />
<br />
If the first byte of application data has value 0x01, this is a ''looping extension'' used in animated GIFs. It indicates the number of times to repeat the animation.<br />
<br />
If the first byte is not 0x01, the extension is probably of no interest, but apparently at least one such extension was defined (0x02 = Netscape Buffering Extension<ref>[http://www.vurdalakov.net/misc/gif/netscape-buffering-application-extension Netscape Buffering Application Extension]</ref>).<br />
<br />
* <code>"ANIMEXTS" 0x31 0x2e 0x30 ("ANIMEXTS1.0")</code><br />
<br />
Same as "NETSCAPE2.0" looping extension.<br />
<br />
* <code>"ICCRGBG1" 0x30 0x31 0x32 ("ICCRGBG1012")</code><br />
<br />
Stores an [[ICC profile]].<br />
<br />
* <code>"XMP Data" 0x58 0x4d 0x50 ("XMP DataXMP")</code><br />
<br />
Stores [[XMP]] metadata.<br />
<br />
* <code>"ImageMagick"</code>, <code>"MGK8BIM0000"</code>, <code>"MGKIPTC0000"</code><br />
<br />
Used by [[ImageMagick]].<br />
<br />
* <code>"fractint" ?? ?? ??</code><br />
<br />
Used by the DOS program Fractint to save additional data (fractal parameters). The only documentation about this may be the source code<ref>[http://fractint.net/fractsvn/trunk/fractint/common/encoder.c Fractint source code: encoder.c]</ref>. See also [[FRA (Fractint)|FRA]].<br />
<br />
* <code>"MathType" ?? ?? ??</code><br />
<br />
Used by MathType<ref>[http://www.inr.ac.ru/~blackbox/MathType/SDK/docs/baseline_gif.htm MathType 5 SDK: Extracting Baseline Info from a GIF File]</ref>.<br />
<br />
== Identification ==<br />
GIF files begin with ASCII characters "<code>GIF87a</code>" (version 87a), or "<code>GIF89a</code>" (version 89a).<br />
<br />
== Specifications ==<br />
<br />
* GIF87a<br />
** [http://www.w3.org/Graphics/GIF/spec-gif87.txt Text] (W3C)<br />
** [http://web.archive.org/web/20100929230301/http://www.etsimo.uniovi.es/gifanim/gif87a.txt Text] (Stanford)<br />
** [http://www.textfiles.com/programming/FORMATS/gif.txt Text] (textfiles.com)<br />
* GIF89a<br />
** [http://www.w3.org/Graphics/GIF/spec-gif89a.txt Text] (W3C)<br />
** [http://www.textfiles.com/programming/FORMATS/gif89a.txt Text] (textfiles.com)<br />
** [http://odur.let.rug.nl/~kleiweg/gif/GIF89a.html HTML] (rug.nl)<br />
* [http://www.vurdalakov.net/misc/gif/netscape-looping-application-extension Netscape Looping Application Extension]<br />
* [http://odur.let.rug.nl/~kleiweg/gif/netscape.html GIF Application Extension: NETSCAPE2.0] ([http://web.archive.org/web/20130317195536/http://odur.let.rug.nl/~kleiweg/gif/netscape.html alternate link] from archive.org)<br />
<br />
== Sample files ==<br />
* [http://gifcities.org/ GifCities: GeoCities animated GIF archive]<br />
* http://whatis.rest7.com/how-to-open-gif-file<br />
<br />
== Metaformat files ==<br />
* {{Synalysis|gif}}<br />
<br />
== Software ==<br />
Support for GIF is ubiquitous. The software listed here has been arbitrarily selected.<br />
* [http://giflib.sourceforge.net/ GIFLIB]<br />
* [[Netpbm]]: ppmtogif, pamtogif, giftopnm<br />
* [https://github.com/nategri/apple2/tree/master/animation_2color Animated GIF converter/player for Apple II series] ([https://www.youtube.com/watch?v=OYiPmqjFEqQ Video] of it in action)<br />
* [https://archive.org/download/MicrosoftGifAnimator/GIFAnimator.zip Microsoft GIF Animator]: small software program created by Microsoft in 1996 for making animated GIFs. Still works in Windows 8.<br />
* [https://github.com/jnordberg/gif.js JavaScript GIF encoding library]<br />
* [https://screentogif.codeplex.com/ screentogif] (creates animated GIFs from screen activity)<br />
* [http://coptr.digipres.org/Bad_Peggy Bad Peggy: scans images for problems]<br />
* [http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/productivity/graphics/misc/Apple%20II%20Gif%20Viewer.shk Apple II GIF viewer] ([http://mirrors.apple2.org.za/ftp.apple.asimov.net/images/productivity/graphics/misc/Apple%20II%20Gif%20Viewer.TXT Documentation])<br />
* [[XnView]]<br />
* [[Tom's Editor]]<br />
<br />
== File conversions ==<br />
* [http://gfycat.com/ gfycat: Convert GIFs to HTML 5 video]<br />
* [http://www.kickstarter.com/projects/sha/gifpop-custom-gif-cards-for-everyone Custom lenticular-printed cards from animated GIFs]<br />
<br />
== References ==<br />
<references/><br />
<br />
== External links ==<br />
* [[Wikipedia:Graphics Interchange Format]]<br />
* [http://www.matthewflickinger.com/lab/whatsinagif/ What's in a GIF]<br />
* [http://www.theimage.com/animation/toc/toc.html Gifology: Understanding GIF Files & GIF Animation]<br />
* [http://web.archive.org/web/20100929231133/http://www.etsimo.uniovi.es/gifanim/gifabout.htm All About GIF89a]<br />
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info, including GIF]<br />
* {{EGFF|gif|GIF File Format Summary}}, from the [[Encyclopedia of Graphics File Formats]]<br />
* [http://www.infinitepartitions.com/cgi-bin/showarticle.cgi?article=art011 Inside the GIF file format]<br />
* [http://blog.oup.com/2012/11/oxford-dictionaries-usa-word-of-the-year-2012-gif/ GIF is Oxford Dictionary Word Of 2012]<br />
* [http://bits.blogs.nytimes.com/2013/05/21/an-honor-for-the-creator-of-the-gif/ An honor for the creator of the GIF]<br />
* [http://scarygoround.com/?date=20130822 This web comic], part of a time-travel storyline, has a schoolgirl sleuth likening a time-looped version of 1960 at the other end of a wormhole to an animated GIF. (Not too much info about file formats here, but a neat comic!)<br />
* [https://medium.com/matt-bors/8b90a02a4432 World War G (comic)]<br />
* [http://thestoryofgif.com/post/59659280472/if-youd-like-to-watch-the-16-minute-presentation The Story of GIF (video)]<br />
* [https://github.com/LindseyB/starwars-dot-gif Python script to generate GIFs from Star Wars based on input dialogue line]<br />
* [http://blogs.loc.gov/digitalpreservation/2014/06/exhibiting-gifs-an-interview-with-curator-jason-eppink/ Exhibiting .gifs: An Interview with curator Jason Eppink]<br />
* [http://nullsleep.tumblr.com/post/16524517190/animated-gif-minimum-frame-delay-browser-compatibility Animated GIF Minimum Frame Delay Browser Compatibility Study]<br />
* [https://medium.com/message/jif-is-the-format-gif-is-the-culture-af8673796c44 ‘JIF’ Is the Format. ‘GIF’ Is the Culture]<br />
* [http://mashable.com/2014/06/19/twitter-gifs/ How to post GIFs on Twitter]<br />
* [http://blog.embed.ly/post/89265229166/what-twitter-isnt-telling-you-about-gifs What Twitter Isn’t Telling You About GIFs]<br />
* The WHATWG wiki [http://wiki.whatwg.org/wiki/GIF GIF page] has a good summary, and includes direct links to the implementation source code of a few browsers.<br />
* [http://zulko.github.io/blog/2015/02/01/extracting-perfectly-looping-gifs-from-videos-with-python-and-moviepy/ An Algorithm to Extract Looping GIFs From Videos]<br />
* [http://www.digitalpreservation.gov/formats/fdd/fdd000133.shtml Library of Congress Digital Preservation page on GIF]<br />
* [http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html High quality GIF with FFmpeg]<br />
* [http://theknow.denverpost.com/2017/05/11/gif-exhibit-boulder-museum-of-contemporary-art-ello-2017/143862/ Are GIFs fine art? Ello and the Boulder Museum of Contemporary Art think so]<br />
<br />
[[Category:Video]]<br />
[[Category:Netscape]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/PNGPNG2019-01-04T19:54:29Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Graphics<br />
|extensions={{ext|png}}<br />
|mimetypes={{mimetype|image/png}}<br />
|locfdd={{LoCFDD|fdd000153}}<br />
|pronom={{PRONOM|fmt/13}}, {{PRONOM|fmt/12}}, {{PRONOM|fmt/11}}<br />
|kaitai struct=png<br />
|released=1996<br />
}}<br />
'''Portable Network Graphics''' ('''PNG''') was devised starting in a discussion on newsgroup ''comp.graphics'' in 1995, with the first version of its specification released in 1996. The motivation for its creation was to create a free and unencumbered image format in the wake of the patent issue with [[GIF]].<br />
<br />
PNG has become a very popular graphic format, but widespread adoption on the Web was slow due to the fact that the first specification came out over a year after the Web had begun to be popular with the general public, meaning that there were many sites and browsers out there not using and supporting the new format; subsequently, browsers began to support it, but often had rendering problems which persisted even in fairly late versions years later; this caused webmasters to be slow to switch from GIF to PNG, though many eventually did so. Since the [[LZW]] patent that affected GIF is expired now, the "free format" motivation for the switch no longer applies.<br />
<br />
Unlike GIF, PNG officially supports only still graphics, not animation. However [[APNG]], an unofficial extension of the PNG image format that retains the .png file extention does support animation. Another related format, [[MNG]], officially does support animation.<br />
<br />
== Format details ==<br />
A PNG file consists of an 8-byte signature, followed by a sequence of ''chunks''. Each chunk has an 8-byte header containing a 4-byte chunk length, and a 4-byte [[FourCC|chunk type code]]. Each chunk also has a 4-byte trailer containing a checksum.<br />
<br />
== Identification ==<br />
A file begins with an 8-byte signature: {{magic|89 50 4E 47 0D 0A 1A 0A}}.<br />
<br />
A standard PNG file also has ASCII "{{magic|IHDR}}" at offset 12. You can check for this to distinguish it from [[CgBI]].<br />
<br />
== Extensions ==<br />
=== Extensions by chunk type ===<br />
{| class="wikitable"<br />
! Chunk type<br />
! References and remarks<br />
|-<br />
|<code>oFFs</code>, <code>pCAL</code>, <code>sCAL</code>, <code>gIFg</code>, <code>gIFx</code>, <code>gIFt</code>, <code>fRAc</code> || Refer to [http://pmt.sourceforge.net/specs/pngext-1.2.0-pdg-h20.html Extensions to the PNG 1.2 Specification, v1.2.0].<br />
|-<br />
|<code>sTER</code> || Refer to [ftp://ftp.simplesystems.org/pub/libpng/png/documents/pngext-1.3.0-pdg.html Extensions to the PNG 1.2 Specification, v1.3.0].<br />
|-<br />
|<code>dSIG</code> || Refer to [ftp://ftp.simplesystems.org/pub/libpng/png/documents/pngext-1.4.0-pdg.html Extensions to the PNG 1.2 Specification, v1.4.0], and the [http://png-dsig.sourceforge.net/ PNG dSIG website].<br />
|-<br />
|<code>acTL</code>, <code>fcTL</code>, <code>fdAT</code> || Used in [[APNG]] files.<br />
|-<br />
|<code>vpAg</code>, <code>caNv</code> || Used by [[ImageMagick]].<br />
|-<br />
|<code>CgBI</code> || Refer to [[CgBI]].<br />
|-<br />
|<code>eXIf</code>, <code>exIf</code> || [[Exif]] metadata. Refer to [http://ftp-osl.osuosl.org/pub/libpng/documents/proposals/eXIf/png-proposed-eXIf-chunk-2017-06-15.html PNG Proposed eXIf chunk] [approved 2017-07].<br />
|}<br />
<br />
=== Other extensions ===<br />
* [[XMP]] metadata can be stored in an <code>iTXt</code> chunk with keyword "XML:com.adobe.xmp". Refer to the [[XMP#Specifications|XMP Specification]], Part 3.<br />
<br />
== Related Formats ==<br />
<br />
* [[APNG]]<br />
* [[MNG]]<br />
* [[JNG]]<br />
* [[CgBI]]<br />
* [[Portable Bitmap Format]]<br />
* [[zlib]]-style [[DEFLATE]] compression: Used to compress image and other data.<br />
* [[CRC-32]]: Used to calculate a checksum of each chunk.<br />
* [[ICC profile]]: The format used by iCCP chunks.<br />
<br />
== Specifications ==<br />
* [http://www.w3.org/TR/PNG/ W3C PNG specification] (latest version) <br />
** Specific versions: [http://www.w3.org/TR/REC-png-961001 1996-10-01] · [http://www.w3.org/TR/2003/PR-PNG-20030520/ 2003-05-20] · [http://www.w3.org/TR/2003/REC-PNG-20031110/ 2003-11-10]<br />
* RFC 2083: PNG Specification Version 1.0<br />
* [http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=29581 ISO/IEC 15948:2004] (not free to download)<br />
<br />
== Metaformat files ==<br />
<br />
* {{Synalysis|png}}<br />
<br />
== Software ==<br />
''Support for PNG is ubiquitous. Software listed here may have been selected arbitrarily.''<br />
* [http://www.libpng.org/pub/png/libpng.html libpng] and [http://www.zlib.net/ zlib]<br />
* [http://lodev.org/lodepng/ LodePNG]<br />
* [http://coptr.digipres.org/Bad_Peggy Bad Peggy: scans images for problems]<br />
* [[Konvertor]]<br />
<br />
== Sample files ==<br />
* [http://www.libpng.org/pub/png/png-sitemap.html#images PNG Images]<br />
* [http://pngimg.com/ pngimg.com]<br />
<br />
== Links ==<br />
* [http://www.libpng.org/pub/png/png.html PNG website]<br />
* [[Wikipedia:Portable Network Graphics|Portable Network Graphics (Wikipedia)]]<br />
* {{EGFF|png|PNG File Format Summary}}, from the [[Encyclopedia of Graphics File Formats]]<br />
* [http://www.forensicswiki.org/wiki/Portable_Network_Graphics_%28PNG%29 Forensics Wiki article]<br />
* [http://imgur.com/a/MtQZv#7 PNG format mini-poster]<br />
* [https://mattscodecave.com/posts/plaidctf-2015---corrupt-png How to repair a PNG that has suffered DOS->Unix character conversion]<br />
* [http://blog.codinghorror.com/getting-the-most-out-of-png/ Getting the Most Out of PNG (Jeff Atwood)]<br />
* [https://medium.com/@duhroach/how-png-works-f1174e3cc7b7#.n3l0wota6 How PNG Works]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Windows_RegistryWindows Registry2017-08-25T14:00:49Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Configuration files<br />
|subcat2=Windows configuration files<br />
|extensions={{ext|dat}}, {{ext|reg}}<br />
|kaitai struct=regf<br />
}}<br />
The [[Windows Registry]] is used in various versions of Microsoft [[Windows]] to hold a number of configuration settings that affect how Windows and programs running under Windows run. Registry contents are stored in several separate files called hives, whose location and format differ by version of Windows.<br />
<br />
== Windows 3.11 ==<br />
<br />
The registry file is called REG.DAT and is in the %WINDIR% directory (the directory configured as the one holding system files).<br />
<br />
== Windows 9x, ME ==<br />
<br />
The registry is stored as USER.DAT and SYSTEM.DAT in the %WINDIR% directory, and also CLASSES.DAT in Windows ME. There may also be separate USER.DAT files in user profile directories.<br />
<br />
* [http://www.forensicswiki.org/wiki/Windows_9x_Registry_File_%28CREG%29 Forensics Wiki: Windows 9x Registry File (CREG)]<br />
<br />
== Windows NT and up ==<br />
<br />
The registry is stored in binary files in %SystemRoot%\System32\Config\.<br />
<br />
* [http://www.forensicswiki.org/wiki/Windows_NT_Registry_File_%28REGF%29 Forensics Wiki: Windows NT Registry File (REGF)]<br />
<br />
== .REG files ==<br />
<br />
Registry entries can be exported in a text-based, [[INI]]-like format as .REG files. In Windows 2000 and later, the file begins with "Windows Registry Editor Version 5.00", while earlier versions began with "REGEDIT4".<br />
<br />
== Links ==<br />
* [https://github.com/libguestfs/hivex hivex]<br />
* [http://www.forensicswiki.org/wiki/Windows_Registry Forensics Wiki: Windows Registry]<br />
* [[Wikipedia:Windows Registry|Wikipedia: Windows Registry]]<br />
* [http://msdn.microsoft.com/en-us/library/ms724871.aspx MSDN registry reference]<br />
* [https://tzworks.net/prototype_page.php?proto_id=3 Yet Another Registry Utility (yaru)]<br />
* [https://github.com/msuhanov/regf/blob/master/Windows%20registry%20file%20format%20specification.md regf/Windows registry file format specification.md]<br />
<br />
<br />
[[Category:Microsoft]]<br />
[[Category:Windows]]<br />
[[Category:System files]]<br />
[[Category:File formats with a distinctive filename]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/TIM_(PlayStation_graphics)TIM (PlayStation graphics)2017-07-13T16:15:21Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Graphics<br />
|extensions={{ext|tim}}<br />
|kaitai struct=psx_tim<br />
}}<br />
'''TIM''', or '''PSX TIM''', is an uncompressed raster image file format associated with the Sony PlayStation family of video game consoles.<br />
<br />
It supports 4- and 8-bit paletted images, and 15- and 24-bit full color images.<br />
<br />
== Identification ==<br />
Files begin with (hex) bytes <code>10 00 00 00</code>.<br />
<br />
== Software ==<br />
* [[ImageMagick]]<br />
* [[Konvertor]]<br />
* [[XnView]]<br />
* [[RECOIL]]<br />
* [ftp://ibiblio.org/pub/linux/apps/graphics/convert/tim2bmp-1.0.tar.gz tim2bmp]<br />
<br />
== Sample files ==<br />
* http://cd.textfiles.com/cdaction/cdaction20a/HORR/USA/ {DATA,EFFSPR,ITEM_M2}/*.TIM<br />
* http://cd.textfiles.com/pcgamesexe/pcge199902/RE2/COMMON/DATU/<br />
* http://cd.textfiles.com/pcgamesexe/pcge199902/RE2/PL0/EMD0/<br />
<br />
== Resources ==<br />
* [http://www.romhacking.net/documents/31/ TIM Graphic Formats, By Klarth, Version 1.0]<br />
* [http://mrclick.zophar.net/TilEd/download/timgfx.txt TIM Graphic Formats, By Klarth, Version 0.7]<br />
<br />
[[Category:Sony]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Windows_MetafileWindows Metafile2017-07-02T07:29:22Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Graphics<br />
|extensions={{ext|wmf}}, {{ext|wmz}}, {{ext|apm}}<br />
|mimetypes={{mimetype|image/wmf}}<br />
|pronom={{PRONOM|x-fmt/119}}<br />
|kaitai struct=wmf<br />
|released=1990<br />
}}<br />
:''For EMF, see [[Enhanced Metafile]].''<br />
<br />
'''Windows Metafile''' ('''WMF''') is a vector graphics format native to Microsoft Windows 3.x. It stores a list of commands which, when executed, generate an image.<br />
<br />
The term ''Windows Metafile'' usually refers specifically to WMF format, though it can also be an umbrella term that includes the successor format, [[Enhanced Metafile]] (EMF).<br />
<br />
The '''.wmz''' extension reportedly indicates a [[ZIP]]-compressed WMF file, but the only .wmz files we've seen are actually [[gzip]]-compressed.<br />
<br />
Most WMF files begin with a 22-byte "Aldus Placeable Metafile" header, which supplies suggested placement and scaling information. Some (mainly older) WMF files lack this header.<br />
<br />
== Identification ==<br />
WMF data (usually?) begins with the byte sequence {{magic|01 00 09 00}} or {{magic|02 00 09 00}}. This sequence may appear at the beginning of a WMF file, but it is usually at offset 22, and the file begins with the Aldus Placeable Metafile signature of {{magic|D7 CD C6 9A}}.<br />
<br />
== Specifications ==<br />
* [http://msdn.microsoft.com/en-us/library/cc215212.aspx Windows Metafile Format Specification]<br />
* [http://msdn.microsoft.com/en-us/library/dd145202%28v=VS.85%29.aspx Windows-Format Metafiles]<br />
<br />
== Software ==<br />
* [http://inkscape.org/ Inkscape]<br />
* [[Scribus]]<br />
* [[Konvertor]]<br />
* [[XnView]]<br />
* [https://sourceforge.net/projects/libuemf/ libUEMF]<br />
* [http://wvware.sourceforge.net/libwmf.html libwmf]<br />
<br />
== Sample files ==<br />
* http://cd.textfiles.com/10000gp2/COLORWMF/<br />
* http://cd.textfiles.com/cdreview/cdreview66/MULTIM/MEDI8OR/CLIPART/PICTURES/<br />
<br />
== See also ==<br />
* [[Enhanced Metafile]]<br />
* [[Segmented Hypergraphics]]<br />
<br />
== Links ==<br />
* [[Wikipedia:Windows Metafile|Wikipedia article]]<br />
* {{EGFF|wmf|Microsoft Windows Metafile File Format Summary}}, from the [[Encyclopedia of Graphics File Formats]].<br />
* [http://support.microsoft.com/kb/66949 Microsoft support: Windows Metafile Functions &amp; Aldus Placeable Metafiles]<br />
* [http://msdn.microsoft.com/en-us/library/windows/desktop/ms534075%28v=vs.85%29.aspx MSDN: WmfPlaceableFileHeader structure]<br />
* http://wvware.sourceforge.net/caolan/ora-wmf.html<br />
<br />
[[Category:Microsoft]]<br />
[[Category:Windows]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/FAT32FAT322017-06-30T15:07:46Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Filesystem<br />
|kaitai struct=vfat<br />
}}<br />
<br />
=Introduction=<br />
'''FAT32''' (a variety of FAT, which stands for File Allocation Table) is a simple filesystem with limited capabilities. Although the [[IPR|Intellectual Property Rights]] belong to [[Microsoft]], the format specifications are made available publicly. Nowadays the FAT32 filesystem is mostly used on portable devices such as thumbdrives, external hard drives and SD cards.<br />
<br />
==Resources==<br />
* [http://msdn.microsoft.com/en-us/library/windows/hardware/gg463080.aspx Microsoft EFI FAT32 File System Specification]<br />
* [http://en.wikipedia.org/wiki/FAT32 Wikipedia - FAT32]<br />
<br />
[[Category:Microsoft]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/FAT12FAT122017-06-30T15:07:25Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Filesystem<br />
|kaitai struct=vfat<br />
}}<br />
<br />
=Introduction=<br />
'''FAT12''' (a variety of FAT, which stands for File Allocation Table) is a simple filesystem with limited capabilities. The "12" refers to the number of bits in table entries. It was adapted from an earlier [[FAT8|8-bit FAT version]] by Tim Paterson of Seattle Computer Products, and it became the filesystem behind the floppy disks used by what eventually became MS-DOS and PC-DOS when it was purchased by Microsoft and in turn licensed (nonexclusively) to IBM for use on its PC. The earliest versions lacked support for hierarchical directory structures (PC-DOS 1.0 had only a root directory on a disk), but that was added later starting with the version used with DOS 2.0. There were some later tweaks in subsequent DOS and Windows versions such as an increase in the bit size of the field giving the total number of sectors on the disk.<br />
<br />
Some early hard disks used this filesystem as well, but it was limited to a partition size of 16 megabytes. Later FAT versions ([[FAT16]] and [[FAT32]]) supporting larger partition sizes were introduced as hard disks got bigger, but FAT12 remained in use on floppy disks, including the higher-capacity ones up to 2.88 MB introduced later on.<br />
<br />
==Resources==<br />
* [http://en.wikipedia.org/wiki/File_Allocation_Table#FAT12 Wikipedia - FAT12]<br />
* [http://msdn.microsoft.com/en-us/library/windows/hardware/gg463080.aspx Microsoft EFI FAT32 File System Specification] (which also discusses earlier FAT versions including FAT12)<br />
* [http://www.textfiles.com/programming/FORMATS/formats.pro Info on MS-DOS 1.x - 2.x disk formats]<br />
* [http://www.linuxcommand.org/man_pages/dosfsck8.html dosfsck man page]<br />
<br />
[[Category:Microsoft]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Master_Boot_RecordMaster Boot Record2017-06-30T15:06:48Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Filesystem<br />
|kaitai struct=mbr_partition_table<br />
}}<br />
<br />
The '''Master Boot Record''' is the first sector of a [[wikipedia:IBM PC compatible|PC]] disk. It contains the first stage of the boot loader and a partition table. A valid MBR ends with the byte sequence {{magic|55 aa}}.<br />
<br />
During booting the PC [[BIOS]] loads the MBR at linear address 0x7c00 and passes control to it (at real mode address 07c0:0000, or sometimes 0000:7c00). The MBR code is responsible for loading the rest of the boot loader, which then loads the operating system.<br />
<br />
== Resources ==<br />
* [[wikipedia:Master boot record|Master boot record]]<br />
* [http://thestarman.narod.ru/asm/mbr/STDMBR.htm An Examination of the Standard MBR (Master Boot Record)]<br />
* [http://3.bp.blogspot.com/-Dz7HAho4RCg/VS2RqkPFTAI/AAAAAAAAAdU/E8Q4lG08xwU/s1600/MBR101.png MBR format poster]<br />
<br />
[[category:Filesystem]] [[category:Operating Systems]] [[Category:File format details]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/ISO_9660ISO 96602017-06-30T15:05:54Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Filesystem<br />
|extensions={{ext|iso}}<br />
|mimetypes={{mimetype|application/x-iso9660-image}}<br />
|kaitai struct=iso_9660<br />
}}<br />
'''ISO 9660''' is a read-only [[filesystem]] often used on [[CD-ROM|CD-ROMs]]. It is also common to encounter files containing an [[ISO image|image]] of an ISO 9660 filesystem.<br />
<br />
== Details ==<br />
The standard limits filenames to the DOS 8.3 style. Several extensions – [[TRANS.TBL]], [[Rock Ridge]], and [[Joliet]] – were developed to remove this restriction.<br />
<br />
The filenames also have a VMS-style version number, so sometimes they are shown with a ";1" suffix.<br />
<br />
The size of a file is limited to 4GB (2GB in some implementations). This is irrelevant with respect to CD-ROMs, because of their small capacity, but it is a reason to avoid using ISO 9660 on [[DVD-ROM|DVD-ROMs]] and other media. (An extension called "multiple extents" makes larger files possible, but support for it is limited.)<br />
<br />
== Identification ==<br />
Usually, the ASCII string "<code>CD001</code>" appears at offset 32769.<br />
<br />
The first 32768 bytes are not used. Be aware that hybrid filesystems are possible. Just because something is a valid ISO 9660 filesystem doesn't mean it can't also be a valid filesystem of some other type.<br />
<br />
== See also ==<br />
* [[ISO image]]<br />
* [[Universal Disk Format]] (UDF) - The successor to ISO 9660<br />
<br />
== Software ==<br />
=== Reading ===<br />
* [[7-Zip]], [http://unix.stackexchange.com/questions/70738/what-is-the-fastest-way-to-extract-an-iso see here for an example]<br />
* [http://linux.die.net/man/1/isoinfo isoinfo] can perform basic operations and some validation.<br />
Operating systems often include drivers for ISO 9660. On Linux, an ISO 9660 image file can be mounted using a loopback driver (<code>mount -t iso9660 -o loop ...</code>).<br />
* [https://github.com/KBNLresearch/verifyISOSize isolyzer] is a tool that verifies if the file size of an ISO image is consistent with the information in its Primary Volume Descriptor. For hybrid images that contain both an ISO 9660 file system and an Apple partition, the expected file size is calculated using the information in the partition table (zero block) or the master directory block. This can be useful for detecting incomplete (e.g. truncated) ISO images.<br />
<br />
=== Writing ===<br />
* [http://www.cdrkit.org/ cdrkit] → genisoimage<br />
* Countless CD burning applications<br />
<br />
== Links ==<br />
* [[Wikipedia:ISO 9660|Wikipedia: ISO 9660]]<br />
* [[Wikipedia:TRANS.TBL|Wikipedia: TRANS.TBL]]<br />
* [[Wikipedia:Rock Ridge|Wikipedia: Rock Ridge]]<br />
* [[Wikipedia:Joliet_(file_system)|Wikipedia: Joliet]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/SWFSWF2017-06-30T15:05:08Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Graphics<br />
|extensions={{ext|swf}}, {{ext|spl}}<br />
|mimetypes={{mimetype|application/vnd.adobe.flash-movie}}, {{mimetype|application/x-shockwave-flash}}, {{mimetype|application/futuresplash}}<br />
|locfdd={{LoCFDD|fdd000248}}, others<br />
|pronom={{PRONOM|fmt/507}}, others<br />
|kaitai struct=swf<br />
|released=1996<br />
}}<br />
'''SWF''' ('''Small Web Format''', or '''Shockwave Flash''') is a multipurpose multimedia format widely used on the web. It is also known by many other names (often conflated with the names of SWF players), such as '''Flash''', '''Adobe Flash''', '''Macromedia Flash''', '''Shockwave Flash''', and '''FutureSplash'''.<br />
<br />
Fundamentally it is an animated vector graphics format, but it has many other features, and can contain complete computer programs written in [[ActionScript]]. Among its common uses are advertisements, web site user interfaces, video games and other applets, and video playback. This format is famously not supported by Apple's iOS devices, leading Web developers to support alternative means of accomplishing such things as video playing, such as those provided in [[HTML]] 5.<br />
<br />
SWF is not designed to be editable. Instead, SWF files are usually compiled from a source (project) format called [[FLA]]. The [[ActionScript]] programming language is also used.<br />
<br />
== Disambiguation ==<br />
'''SWF''' is not the same format as the one known as '''Shockwave''', '''Adobe Shockwave''', '''Macromedia Shockwave''', or '''Shockwave for Director'''. For that format, see [[Shockwave (Director)]].<br />
<br />
In personal ads, SWF means "Single White Female", while the airport code SWF refers to the Stewart airport in Newburgh, New York. Neither of these has any particular relevance to file formats, however.<br />
<br />
== Identifiers ==<br />
{| class="wikitable"<br />
! Format<br />
! PRONOM<br />
! LoCFDD<br />
|-<br />
|SWF 1–6 (Macromedia) || {{PRONOM|fmt/104}}, {{PRONOM|fmt/105}}, {{PRONOM|fmt/106}}, {{PRONOM|fmt/107}}, {{PRONOM|fmt/108}}, {{PRONOM|fmt/109}}<br />
|-<br />
|SWF 7 || {{PRONOM|fmt/110}} || {{LoCFDD|fdd000130}}<br />
|-<br />
|SWF 8 (Adobe) || {{PRONOM|fmt/505}} || {{LoCFDD|fdd000248}}<br />
|-<br />
|SWF 9–10 || {{PRONOM|fmt/506}}, {{PRONOM|fmt/507}}<br />
|-<br />
|SWF 11–30 || {{PRONOM|fmt/757}}, {{PRONOM|fmt/758}}, {{PRONOM|fmt/759}}, {{PRONOM|fmt/760}}, {{PRONOM|fmt/761}}, {{PRONOM|fmt/762}}, {{PRONOM|fmt/763}}, {{PRONOM|fmt/764}}, {{PRONOM|fmt/765}}, {{PRONOM|fmt/766}}, {{PRONOM|fmt/767}}, {{PRONOM|fmt/768}}, {{PRONOM|fmt/769}}, {{PRONOM|fmt/770}}, {{PRONOM|fmt/701}}, {{PRONOM|fmt/772}}, {{PRONOM|fmt/773}}, {{PRONOM|fmt/774}}, {{PRONOM|fmt/775}}, {{PRONOM|fmt/776}}<br />
|}<br />
<br />
== Identification ==<br />
SWF files begin with a 3-byte ASCII signature:<br />
* "<code>FWS</code>" is for uncompressed files.<br />
* "<code>CWS</code>" is for files that use [[zlib]] compression.<br />
* "<code>ZWS</code>" is for files that use [[LZMA]] compression.<br />
<br />
== See also ==<br />
* [[ActionScript]]<br />
* [[F4V]]<br />
* [[FLA]]<br />
* [[FLV]]<br />
<br />
== Specifications ==<br />
* [http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf-file-format-spec.pdf SWF File Format Specification, Version 19]<br />
* [http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf-file-format-spec-v10.pdf SWF File Format Specification, Version 10]<br />
* [http://web.archive.org/web/20090206171649/http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v9.pdf SWF File Format Specification, Version 9] (from archive.org)<br />
<br />
== Software ==<br />
* [http://get.adobe.com/flashplayer/ Adobe Flash Player]<br />
* [http://gnashdev.org/ Gnash]<br />
* [http://lightspark.github.io/ Lightspark]<br />
* [https://github.com/mozilla/shumway Shumway] (Flash VM / runtime in JavaScript)<br />
* [[7-Zip]] can convert compressed SWF to uncompressed SWF.<br />
<br />
== Links ==<br />
* [[Wikipedia:SWF|Wikipedia: SWF]]<br />
* [[Wikipedia:Adobe Flash|Wikipedia: Adobe Flash]]<br />
* [[Wikipedia:FutureSplash Animator|Wikipedia: FutureSplash Animator]]<br />
* [http://www.adobe.com/devnet/articles/flashplayer-air-feature-list.html Flash Player and Adobe AIR feature list]<br />
* [http://imgur.com/ZXESihi SWF format mini-poster]<br />
* [http://motherboard.vice.com/read/gone-in-a-flash-the-race-to-save-the-internets-least-favorite-tool Gone in a Flash: The Race to Save the Internet's Least Favorite Tool]<br />
<br />
[[Category:Video]]<br />
[[Category:Web]]<br />
[[Category:Adobe]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/PythonPython2017-06-30T15:04:29Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=Languages<br />
|subcat=Programming Languages<br />
|extensions={{ext|py}}, {{ext|pyc}}, {{ext|pyo}}, {{ext|pyd}}, {{ext|whl}}<br />
|pronom={{PRONOM|fmt/938}}, {{PRONOM|fmt/939}}, {{PRONOM|fmt/940}}<br />
|kaitai struct=python_pyc_27<br />
|released=1991<br />
}}<br />
'''Python''' is a [[Programming Languages|programming language]]. <br />
<br />
It is one of the possibilities for the P in LAMP (a set of technologies used in many web back-ends, including Linux, Apache, and MySQL, notable for being free, open-source software in contrast to proprietary technologies such as those from Microsoft) along with [[Perl]] and [[PHP]].<br />
<br />
Media reports of [http://www.cbc.ca/news/canada/story/2013/08/06/f-exotic-animals-laws-canada.html python-linked deaths] have nothing to do with the safety of this language, honest! Actually, the name of the language was inspired by [[Wikipedia:Monty Python|Monty Python]], not any actual reptile (or even [http://www.youtube.com/watch?v=R4yBv4sSKTw fictional ones]). <br />
<br />
A notable feature of Python is its use of whitespace as a syntactically-significant part of its structure; the level of indenting of code blocks actually determines its place structurally, in contrast to most other languages which use explicit items such as curly braces or keywords such as [[Pascal]]'s '''begin''' and '''end''' (though in those languages it is still customary to indent code blocks for readability). Other novel features of Python include native support of complex arithmetic (involving both real and imaginary numbers and sums of them).<br />
<br />
The easy learnability of the language is enhanced by the fact that it has a command-line interpreter which lets you type commands from a prompt in immediate mode, much like the old-time [[BASIC]] interpreters on which so many people first learned to program back in the days of the Apple II and Commodore 64. However, any program of significant length is likely to be created in a text editor and saved in files.<br />
<br />
Python is often affiliated with [[reStructuredText]] documents. Python comments are often formatted with reStructuredText markup.<br />
<br />
Versions 2 and 3 of Python (with various sub-versions of each) are both in wide use, with version 2 still usually being the default version included in Linux/Unix distributions, but version 3 gaining popularity; there are a number of minor syntax differences between the two.<br />
<br />
O'Reilly's technical books are famous for having animals on their covers. Their book, ''Programming Python'', has a snake on the cover, logically enough. However, other Python-related books from this publisher have different animals, and, in particular, the introductory book ''Learning Python'' has a rodent. Pythons ''eat'' rodents, so is this trying to imply that the Python community will eat newbies whole?<br />
<br />
== File extensions ==<br />
<br />
Python has a number of file endings associated with it, including .py, .pyc, .pyo, and .pyd. When people have desired a MIME type for Python code, they run into the fact that no standard has been established, and even the nonstandard types don't seem to have reached any degree of consistency; people have tried ''text/python'', ''text/python3'', ''application/python'', ''text/x-python'', and others.<br />
<br />
;.py<br />
: A text file that contains python source code. It is often [[utf-8]] encoded, but it does not have to be.<br />
;.pyc<br />
: Compiled [[bytecode]] of a python source file<br />
;.pyo<br />
: Optimized compiled [[bytecode]]<br />
;.pyd<br />
: A python version of a Windows [[Dynamic-link library (Windows)|.dll]] file<br />
;.whl<br />
: A python wheel which is a package distribution for using a "[[ZIP|ZIP-formated]] archive with a specially formatted filename" <ref>Wheel, Python Package Index https://pypi.python.org/pypi/wheel</ref><br />
<br />
== See also ==<br />
* [[Pickle]]<br />
* [[Cython (Pyrex)]]<br />
<br />
== Links ==<br />
<br />
=== References ===<br />
<references/><br />
<br />
=== Specifications and file format info ===<br />
* [http://daeken.com/2010-02-20_Python_Marshal_Format.html Python Marshal Format (bytecode)]<br />
<br />
=== Programming tips and tutorials ===<br />
* [http://docs.python.org/2/tutorial/index.html Python 2 tutorial]<br />
* [http://docs.python.org/3/tutorial/index.html Python 3 tutorial]<br />
* [http://www.python.org/dev/peps/pep-0008/ PEP 8: Style guide for Python code]<br />
* [http://hubsec.eu/blog/introduction-to-python.html Python for Investigative Journalists: An introduction]<br />
* [http://www.greenteapress.com/thinkpython/thinkpython.html Think Python (free online book)]<br />
<br />
=== Program code, libraries, and APIs ===<br />
* [https://pypi.python.org/pypi/internetarchive Python interface to archive.org]<br />
* [https://github.com/LindseyB/starwars-dot-gif Python script to generate GIFs from Star Wars based on input dialogue line]<br />
* [http://www.pkcarlisle.com/blog.html#tth Python script to create 'Tweet this' link that doesn't require JavaScript]<br />
* [http://www.brython.info/ Brython: Python implemented in JavaScript]<br />
<br />
=== Online utilities ===<br />
* [http://pypyjs.org/ In-browser Python interpreter]<br />
<br />
=== Metaformat files ===<br />
<br />
* [https://www.synalysis.net/Grammars/pyc.grammar Synalysis grammar file for Python bytecode] (for Hexinator / Synalize It!; [[Synalysis grammar file|more details]])<br />
<br />
=== Commentary ===<br />
* [http://blogs.computerworlduk.com/simon-says/2013/02/responding-to-pythons-batsignal/index.htm Python trademark filer ignorant of Python?]<br />
* [http://www.linuxjournal.com/article/3882 Why Python?]<br />
* [http://www.developerdrive.com/2014/11/should-you-be-using-python-for-web-development/ Should you be using Python for web development?]<br />
<br />
=== Other links and references ===<br />
* [http://www.python.org/ Official website]<br />
* [[Wikipedia:Python (programming_language)|Python (Wikipedia)]]<br />
* [http://www.quora.com/Why-does-the-lifetime-of-a-variable-defined-in-a-loop-last-after-the-loop-in-Python/ Why does the lifetime of a variable defined in a loop last after the loop in Python?]<br />
* [http://cacm.acm.org/blogs/blog-cacm/176450-python-is-now-the-most-popular-introductory-teaching-language-at-top-us-universities/fulltext Python is now the most popular introductory teaching language at top U.S. universities]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Java_bytecodeJava bytecode2017-06-30T15:03:23Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
| name = Java bytecode<br />
| formattype = electronic<br />
| subcat = Executables<br />
| subcat2 = <br />
| subcat3 = <br />
| subcat4 = <br />
| subcat5 = <br />
| thiscat = <br />
| extensions = {{ext|class}}<br />
| mimetypes = <br />
| locfdd = <br />
| fourccs =<br />
| pronom =<br />
| type code =<br />
| kaitai struct = java_class<br />
| uniform type =<br />
| conforms to = <br />
| released = 1995<br />
| image =<br />
| caption =<br />
}}<br />
'''Java bytecode''' is normally contained within a .class file and can be executed by Java Virtual Machine (see [[Java]]). It is an intermediate stage between a human-readable code and machine code, a compiler is used to turn normal code into bytecode.<br />
<br />
[[Bytecode]] consists of the predefined set of instructions which are known to the Virtual Machine. Within the .class file these instructions are stored in binary representation.<br />
<br />
The .class files are rarely distributed by themselves, but are combined in [[Jar|.jar]] or .war files.<br />
<br />
==See also==<br />
* [[Wikipedia: Java bytecode]]<br />
<br />
[[Category:Development]]<br />
[[Category:Sun]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/MS-DOS_EXEMS-DOS EXE2017-06-30T15:02:30Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Executables<br />
|extensions={{ext|exe}}<br />
|pronom={{PRONOM|x-fmt/409}}<br />
|kaitai struct=dos_mz<br />
}}<br />
'''MS-DOS EXE''', also known as '''MZ''' format, is an executable file format used mainly by [[MS-DOS]]. It is the successor of [[DOS executable (.com)|COM]]. A number of other executable formats are extensions of it; see [[EXE]] for those formats.<br />
<br />
== Identification ==<br />
An MS-DOS EXE file begins with an ASCII signature of "{{magic|MZ}}" (or, rarely, "{{magic|ZM}}"), followed by a series of 16-bit fields. The field at offset 24 (the ''relocation table offset'') is ''usually'' (but apparently not always) less than 64, and at least 28. A value of 64 or more, or 0, suggests the format may not be MS-DOS EXE.<br />
<br />
It's not clear whether there is any completely reliable way to identify an MS-DOS EXE, except in the negative (i.e. it begins with "MZ", and is not a valid [[NE]], [[PE]], etc., file).<br />
<br />
== Links ==<br />
* [[Wikipedia:DOS MZ executable|Wikipedia article]]<br />
* [http://wiki.osdev.org/MZ MZ], from the OSDev Wiki<br />
* http://www.delorie.com/djgpp/doc/exe/<br />
* [http://www.textfiles.com/programming/FORMATS/exefs.pro DOS EXE format]<br />
* [http://www.mitec.cz/exe.html EXE Explorer utility]<br />
* [http://www.ctyme.com/intr/rb-2939.htm Ralf Brown's Interrupt Reference] has an extensive list of (mostly older) MZ-based executable formats<br />
<br />
[[Category:Microsoft]]<br />
[[Category:MS-DOS]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/DBFDBF2017-06-30T15:01:42Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Databases<br />
|extensions={{ext|dbf}}, others<br />
|locfdd={{LoCFDD|fdd000325}}<br />
|pronom={{PRONOM|x-fmt/9}}, others<br />
|kaitai struct=dbf<br />
}}<br />
'''DBF''' is a family of database file formats associated with the dBase, FoxBase, FoxPro, and Visual FoxPro lines of database software.<br />
<br />
== Identifiers ==<br />
{| class="wikitable"<br />
! Format<br />
! Version<br />
! PRONOM<br />
! Remarks<br />
|-<br />
| dBASE Database || II || {{PRONOM|x-fmt/8}}<br />
|-<br />
| dBASE Database || III || {{PRONOM|x-fmt/9}} || Refer to [[dBase III]]<br />
|-<br />
| dBASE Database || III+ || {{PRONOM|x-fmt/271}}<br />
|-<br />
| dBASE Database || IV || {{PRONOM|x-fmt/10}}<br />
|-<br />
| dBASE Database || V || {{PRONOM|x-fmt/272}}<br />
|-<br />
| dBASE for Windows database || 5.0 || {{PRONOM|x-fmt/380}}<br />
|-<br />
| FoxPro Database || 2.x || {{PRONOM|fmt/373}}<br />
|-<br />
| FoxPro Database || 2.0 || {{PRONOM|x-fmt/6}}<br />
|-<br />
| FoxPro Database || 2.5 || {{PRONOM|x-fmt/7}}<br />
|-<br />
| FoxPro Database || 2.6 || {{PRONOM|x-fmt/242}}<br />
|-<br />
| Visual FoxPro Database Table File || 5.0 || {{PRONOM|fmt/374}}<br />
|}<br />
<br />
The [[PRONOM]] database includes many other DBF-based formats, not listed above.<br />
<br />
== Specifications ==<br />
* [[Wikipedia: .dbf]]<br />
* [http://www.dbase.com/Knowledgebase/INT/db7_file_fmt.htm dBase version 7 file header format]<br />
* [https://msdn.microsoft.com/en-us/library/aa975386%28v=vs.71%29.aspx MSDN: Table File Structure]<br />
* [http://www.dbf2002.com/dbf-file-format.html DBF File structure]<br />
* [http://www.dbase.com/Knowledgebase/INT/db7_file_fmt.htm dBase File Structure at dBase knowledge base]<br />
* [http://www.clicketyclick.dk/databases/xbase/format/index.html Xbase file format description]<br />
<br />
== Metaformat files ==<br />
* {{Synalysis|dbase}}<br />
<br />
== Related formats ==<br />
* [[dBase III]]<br />
* [[Shapefile]]<br />
* [[The Master Genealogist]]<br />
<br />
== See also ==<br />
* [[dBase programming language]]<br />
* [[FoxPro programming language]]<br />
* [[Clipper (programming language)]]<br />
<br />
== Links ==<br />
* [[Wikipedia: .dbf]]<br />
* [[Wikipedia: dBase]]<br />
* [[Wikipedia: FoxPro]]<br />
* [[Wikipedia: Visual FoxPro]]<br />
* [http://www.jjtc.com/Fox/foxfiles/ Neil's FoxFiles]<br />
* [https://github.com/hisamu/php-xbase PHP XBase - A parser for dbf files using PHP]<br />
<br />
[[Category:Microsoft]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/PCAPPCAP2017-06-29T07:39:26Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|subcat=Networking<br />
|extensions={{ext|pcap}}<br />
|pronom={{PRONOM|fmt/779}}, {{PRONOM|fmt/780}}<br />
|kaitai struct=pcap<br />
}}<br />
'''PCAP''' (or libpcap) is a format used by networking tools such as TcpDump/WinDump to save captured network activity.<br />
<br />
== Format description ==<br />
<br />
* [http://wiki.wireshark.org/Development/LibpcapFileFormat File format]<br />
<br />
== Metaformat files ==<br />
<br />
* [https://www.synalysis.net/Grammars/pcap.grammar Synalysis grammar file] (for Hexinator / Synalize It!; [[Synalysis grammar file|more details]])<br />
* [https://github.com/DFDLSchemas/PCAP DFDL schema] (see [[DFDL]])<br />
<br />
== Sample files ==<br />
<br />
* [http://wiki.wireshark.org/SampleCaptures Sample network captures]<br />
<br />
== Other links ==<br />
<br />
* [[Wikipedia:pcap|Wikipedia article]]<br />
* [http://www.tcpdump.org/ tcpdump official site]</div>GreyCathttp://fileformats.archiveteam.org/wiki/BLENDBLEND2017-06-29T07:21:33Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=3D and CAD/CAM Models<br />
|extensions=blend<br />
|kaitai struct=blender_blend<br />
}}<br />
[[BLEND]] is a scene description format associated with the ''[http://www.blender.org Blender]'' 3d modeling and animation software by the Blender Foundation.<br />
<br />
The blend file format is not a true file interchange format, rather it dumps internal data structures from directly from memory to disk. A blend file’s structure may therefore be unique to each version of Blender. Despite this, blend files are both [http://www.blendernation.com/2008/12/01/blender-dna-rna-and-backward-compatibility/ backward and forward compatible] between versions, and between different hardware and operating systems. This is made possible by the addition of metadata, known as [http://wiki.blender.org/index.php/Dev:Source/Architecture/SDNA_Notes Struct DNA], that allows conversion when loading the file.<br />
<br />
Since no standard blend file format specification exists, the Blender source code must serve as the definitive specification.<br />
<br />
== Sample files ==<br />
* http://download.blender.org/demo/<br />
<br />
== Software ==<br />
* [http://www.blender.org/download/ Blender source code and binaries]<br />
<br />
== Links ==<br />
* [http://www.atmind.nl/blender/mystery_ot_blend.html The mystery of the blend: the blend file format explained]<br />
* [http://www.atmind.nl/blender/blender-sdna-256.html Blender 2.56 Internal SDNA stuctures]<br />
* [http://wiki.blender.org/index.php/Dev:Source/Architecture/SDNA_Notes Notes on SDNA]<br />
* [http://github.com/ldo/blendhack blendhac blender file parser]<br />
* [http://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Hacking_Blender Hacking Blender]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Executable_and_Linkable_FormatExecutable and Linkable Format2017-06-28T06:34:14Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Executables<br />
|pronom={{PRONOM|fmt/688}}, {{PRONOM|fmt/689}}, {{PRONOM|fmt/690}}, {{PRONOM|fmt/691}}<br />
|kaitai struct=elf<br />
|extensions={{noext}}, {{ext|elf}}, {{ext|o}}, {{ext|so}}, {{ext|mod}}<br />
}}<br />
'''Executable and Linkable Format''' ('''ELF''') is a file format used for executables, shared (dynamically linked) libraries, object code and [[core dump]]s.<br />
<br />
[[Wikipedia:Executable and Linkable Format|The Wikipedia article]] has a long list of links to various specifications.<br />
<br />
== Format info ==<br />
* [http://imgur.com/a/MtQZv#0 Graphic showing header structure]<br />
* {{manpage|5|elf}}<br />
<br />
== Software ==<br />
* [https://www.gnu.org/software/binutils/ GNU Binutils] → objdump<br />
* [https://www.gnu.org/software/binutils/ GNU Binutils] → readelf<br />
<br />
== Links ==<br />
* [[Wikipedia: Executable and Linkable Format]]<br />
* [https://github.com/corkami/pics/blob/master/ELF101.png ELF101 - a Linux executable walkthrough]<br />
* [https://onedrive.live.com/view.aspx?resid=EBE7DEDA70D06DA0!107&app=PowerPoint&authkey=!AD-O3oq3Ung7pzk Hacking GCN via OpenGL (it's got an ELF in it)]<br />
* [http://www.cirosantilli.com/elf-hello-world/ ELF Hello World Tutorial]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Mach-OMach-O2017-06-26T12:48:43Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|subcat=Executables<br />
|extensions={{ext|o}}, {{ext|dylib}}, {{ext|bundle}}<br />
|pronom={{PRONOM|fmt/692}}, {{PRONOM|fmt/693}}<br />
|kaitai struct=mach_o<br />
}}<br />
'''Mach-O''', or Mach Object, is a form of OS X executable for the Mac platform. It has no characteristic file extension, and can be found extensionless or with .o, .dylib, or .bundle extensions, and can be used for standalone executables or linkable object or library files.<br />
<br />
== Format information ==<br />
<br />
* [https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/MachORuntime/index.html Format info in Apple's developer site]<br />
<br />
== Metaformat files ==<br />
<br />
* [https://www.synalysis.net/Grammars/mach-o.grammar Synalysis grammar file] (for Hexinator / Synalize It!; [[Synalysis grammar file|more details]])<br />
<br />
== Other links ==<br />
<br />
* [[Wikipedia:Mach-O|Wikipedia article]]<br />
* [http://i.imgur.com/LQ3aNFN.png Mach-O mini poster]<br />
<br />
[[Category:Macintosh]]<br />
[[Category:Apple]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Portable_ExecutablePortable Executable2017-06-26T12:47:54Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Executables<br />
|extensions={{ext|exe}}, {{ext|dll}}, {{ext|cpl}}, {{ext|efi}}, {{ext|ocx}}, {{ext|scr}}, {{ext|sys}}, others<br />
|pronom={{PRONOM|x-fmt/411}}, {{PRONOM|fmt/899}}, {{PRONOM|fmt/900}}<br />
|kaitai struct=microsoft_pe<br />
}}<br />
'''Portable Executable''' ('''PE''', '''PE/COFF''', '''PE32''', '''PE32+''') is a member of the [[EXE]] family of executable file formats. It is used by the Microsoft Windows family of operating systems (starting with Windows 95 and [[wikipedia:Win32s|Win32s]]), EFI and sometimes in other environments. It is an extension/hybrid of [[MS-DOS EXE]], and a successor to [[NE]]. Parts of it are derived from [[COFF]]. <br />
<br />
Despite the name, not all PE files are executable. Some contain only icons, fonts, etc.<br />
<br />
== Formats ==<br />
* '''PE32''' format is used by 32-bit Windows.<br />
* '''PE32+''' format is used by 64-bit Windows.<br />
<br />
== Identification ==<br />
A PE file begins with the ASCII signature "<code>MZ</code>". At offset 60 is a 4-byte integer pointing to an "extended" header that begins with <code>'P' 'E' 0x00 0x00</code>. For more information, see [[MS-DOS EXE]].<br />
<br />
== See also ==<br />
* [[Dynamic-link library (Windows)]]<br />
<br />
== Specifications and technical information ==<br />
* [http://msdn.microsoft.com/en-us/windows/hardware/gg463119.aspx Microsoft PE and COFF Specification]<br />
* [http://wiki.osdev.org/PE PE], from the OSDev Wiki<br />
* [http://www.csn.ul.ie/~caolan/publink/winresdump/winresdump/doc/pefile.html Article on the PE format as used by Windows NT 3], by Johannes Plachy<br />
* [http://pe.corkami.com/ PE] (corkami.com)<br />
** [http://pe102.corkami.com/ PE102 - a Windows executable format overview]<br />
** [https://github.com/corkami/pics/blob/master/PE101.png PE101 - a Windows executable walkthrough]<br />
* [http://bytepointer.com/articles/the_microsoft_rich_header.htm The Undocumented Microsoft "Rich" Header]<br />
<br />
== Software and tools ==<br />
* [http://www.mitec.cz/exe.html EXE Explorer utility]<br />
* [https://github.com/katjahahn/PortEx/tree/master/progs PortEx Analyzer]<br />
* [http://bytepointer.com/tools/index.htm#pelook pelook]<br />
<br />
== Other links ==<br />
* [[Wikipedia:Portable Executable|Wikipedia article]]<br />
* [http://www.forensicswiki.org/wiki/Portable_Executable_Format Forensics Wiki: Portable Executable Format]<br />
* [http://blog.didierstevens.com/2015/01/22/converting-peid-signatures-to-yara-rules/ Converting PEiD Signatures To YARA Rules]<br />
<br />
[[Category:Microsoft]]<br />
[[Category:Windows]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/AVIAVI2017-06-26T12:46:53Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|subcat=Video<br />
|extensions={{ext|avi}}<br />
|mimetypes={{mimetype|video/avi}}<br>{{mimetype|video/x-msvideo}}<br>{{mimetype|video/vnd.avi}}<br>{{mimetype|video/msvideo}}<br />
|locfdd={{LoCFDD|fdd000059}}<br />
|pronom={{PRONOM|fmt/5}}<br />
|kaitai struct=avi<br />
|released=~1992<br />
}}<br />
<br />
'''Audio Video Interleave''' ('''AVI''') is a video container format originally developed by Microsoft and IBM and based on the [[RIFF]] wrapper format. AVI is itself a wrapper that can enclose video bitstreams in many encodings, including [[Indeo]], [[Sorenson]], and [[Cinepak]].<br />
<br />
== References ==<br />
* [[Wikipedia:Audio Video Interleave]]<br />
* [http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/DVAVSPEC.RTF DV Data in the AVI File Format Specification, Version 1.01] Microsoft, 1997<br />
* [http://www.opennet.ru/docs/formats/avi.txt AVI description] Probably extracted from Video for Windows Programmer's Guide<br />
* [http://mediaxw.sourceforge.net/files/doc/Video%20for%20Windows%20Reference%20-%20Chapter%204%20-%20AVI%20Files.pdf Copy of Chapter 4: AVI Files from Video for Windows Programmer's Guide] 1993<br />
* [http://pvdtools.sourceforge.net/aviformat.txt RIFF-AVI FILE FORMAT] <br />
* [http://abcavi.kibi.ru/developer.htm Documention page from abcAVI Tag Editor site] Has links to copies of AVI documentation at bottom.<br />
* [http://www.jmcgowan.com/avi.html Overview of Video for Windows, DirectShow (ActiveMovie), and AVI] by John F. McGowan, 1996-2004<br />
* [http://www.iana.org/assignments/wave-avi-codec-registry/wave-avi-codec-registry.xml WAVE and AVI Codec Registries (Historic Registry)] Hosted by IANA. Implies use of video/vnd.avi as mimetype.<br />
<br />
[[Category:RIFF based file formats]]<br />
[[Category:Microsoft]]<br />
[[Category:IBM]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/MetaformatsMetaformats2017-06-26T07:42:56Z<p>GreyCat: Fixed KS name spelling</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|thiscat=Metaformats<br />
|image=Meta-relative-motion.jpg<br />
}}<br />
A '''metaformat''' (or '''meta format''') is a generic low-level file format used as a basis for defining high-level file formats.<br />
<br />
Whether a format is a metaformat is ultimately a judgment call. There are no definitive answers to questions like: What is the difference between a ''container'' format and a metaformat? Or a [[serialization]] format and a metaformat? Is [[CSV]] a metaformat, or is it a database or a spreadsheet format? Should [[TIFF]] and [[PDF]] be considered to be metaformats, given all the subformats of them that have been defined?<br />
<br />
Another reasonable, but different, definition of ''metaformat'' is "a format that describes other formats".<br />
<br />
== Formats that implement other formats ==<br />
* [[Binary XML]]<br />
* [[Boxes/atoms format]]<br />
* [[EBML]]<br />
* [[IFF]]<br />
* [[ISO Base Media File Format]]<br />
* [[JSON]]<br />
* [[Microsoft Compound File]]<br />
* [[ODL (NASA Object Description Language)]]<br />
* [[RIFF]]<br />
* [[RIFX]]<br />
* [[SGML]]<br />
* [[Softdisk Publishing UDF files]]<br />
* [[XCDL]] (part of XCL project)<br />
* [[XML]]<br />
* [[ZIP]]<br />
<br />
== Formats that describe other formats ==<br />
* [[BFD]] (Binary Format Description)<br />
* [[CSV Dialect Description Format]] (describes details of features differing between [[CSV]] varieties)<br />
* [[CSV Schema]] (describes format of [[CSV]] file)<br />
* [[Citation Style Language]] (describes bibliographic citation formats)<br />
* [[DFDL]] (Data Format Description Language)<br />
* [[DTD]] (Document Type Definition)<br />
* [[Format Policy Registry]] (FPR) - used by Archivematica to indicate how to handle file formats<br />
* [[JSON Table Schema]] (describes tabular data such as spreadsheets and [[CSV]] files)<br />
* [[Kaitai Struct]]<br />
* [[MediaTrace]] (technical report of file structure as interpreted by MediaArea tools)<br />
* [[Synalysis grammar file]] (used by Synalize It! and Hexinator)<br />
* [[XCEL]] (part of XCL project)<br />
* [[XMDP]] (XHTML Meta Data Profiles)<br />
* [[XML Schema Definition]]<br />
<br />
Related: [[File identification software]], [[Format validation and analysis software]], [[File viewing and editing software]]<br />
<br />
== Links ==<br />
* [http://www.w3.org/standards/webarch/metaformats W3C: Meta formats]<br />
* [http://schema.org/ schema.org: community creating structured-data schemas]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Kaitai_StructKaitai Struct2017-06-26T07:38:34Z<p>GreyCat: Fixed name spelling</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Metaformats<br />
|extensions={{ext|ksy}}<br />
}}<br />
'''Kaitai Struct''' is a [[YAML]]-based declarative language for describing binary data structures (for file formats or internally for programs), with tools to convert it to various programming languages. Its compiler and libraries are open-source. Its creators have created a format gallery describing a number of file formats; pages in it are linked from the infoboxes of relevant formats in this site.<br />
<br />
== Links ==<br />
* [http://kaitai.io/ Official site]<br />
* [http://doc.kaitai.io/ Documentation]<br />
* [http://formats.kaitai.io/ Format gallery]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Katai_StructKatai Struct2017-06-26T07:37:31Z<p>GreyCat: GreyCat moved page Katai Struct to Kaitai Struct: Misspelled name</p>
<hr />
<div>#REDIRECT [[Kaitai Struct]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Kaitai_StructKaitai Struct2017-06-26T07:37:31Z<p>GreyCat: GreyCat moved page Katai Struct to Kaitai Struct: Misspelled name</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Metaformats<br />
|extensions={{ext|ksy}}<br />
}}<br />
'''Katai Struct''' is a [[YAML]]-based declarative language for describing binary data structures (for file formats or internally for programs), with tools to convert it to various programming languages. Its compiler and libraries are open-source. Its creators have created a format gallery describing a number of file formats; pages in it are linked from the infoboxes of relevant formats in this site.<br />
<br />
== Links ==<br />
* [http://kaitai.io/ Official site]<br />
* [http://doc.kaitai.io/ Documentation]<br />
* [http://formats.kaitai.io/ Format gallery]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Windows_resourceWindows resource2017-06-23T16:28:23Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
| subcat = Resources<br />
| extensions = {{ext|res}}<br />
| kaitai struct = windows_resource_file<br />
}}<br />
'''Resources''' are bits of data embedded inside Windows executable files, which may be then read at run time.<br />
<br />
Resources are commonly found in a section named <code>.rsrc</code> inside a [[Portable Executable]] or [[New Executable]] file. Resources may be also found in standalone files with the extension <code>.res</code>.<br />
<br />
== See also ==<br />
* [[Windows resource script]]<br />
<br />
== External links ==<br />
* [[Wikipedia: Resource (Windows)]]<br />
<br />
[[Category:Executables]]<br />
[[Category:Microsoft]]<br />
[[Category:Windows]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Warcraft_II_PUDWarcraft II PUD2017-06-23T15:48:33Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Game data files<br />
|extensions={{ext|pud}}<br />
|kaitai struct=warcraft_2_pud<br />
}}<br />
The '''Warcraft II PUD''' format stores custom maps for the Warcraft II game.<br />
<br />
== Format description ==<br />
<br />
* [http://cade.datamax.bg/war2x/pudspec.html PUD spec]<br />
<br />
== Metaformat files ==<br />
<br />
* [https://www.synalysis.net/Grammars/pud.grammar Synalysis grammar file] (for Hexinator / Synalize It!; [[Synalysis grammar file|more details]])<br />
<br />
== Sample files ==<br />
<br />
* [http://war2.warcraft.org/mapweek.shtml Some are linked here]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Doom_WADDoom WAD2017-06-23T15:47:16Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
| subcat = Game data files<br />
| extensions = {{ext|wad}}<br />
| kaitai struct = doom_wad<br />
}}<br />
'''WAD''' ("Where's All the Data") is the format in which the data (music, sound effects, textures and levels) for games using the Doom engine is stored.<br />
<br />
== Sample files ==<br />
* http://cd.textfiles.com/doomcompanion/DOOM/DOOM1.WAD<br />
* http://cd.textfiles.com/instantdoom/WADS/<br />
<br />
== Extenal links ==<br />
* [http://doomwiki.org/wiki/WAD WAD at The Doom Wiki]<br />
* [http://www.teaser.fr/~amajorel/deutex/ Deutex]<br />
* [[Wikipedia:Doom WAD]]<br />
* [http://mashable.com/2016/01/15/doom-john-romero-new-level/ How to play the 'Doom' creator's first new level in 21 years]<br />
<br />
[[Category:Id Software]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/PCXPCX2017-06-23T07:06:32Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Graphics<br />
|extensions={{ext|pcx}}, {{ext|pcc}}<br />
|mimetypes={{mimetype|image/vnd.zbrush.pcx}}, {{mimetype|image/x-pcx}}<br />
|pronom={{PRONOM|fmt/86}}, {{PRONOM|fmt/87}}, {{PRONOM|fmt/88}}, {{PRONOM|fmt/89}}, {{PRONOM|fmt/90}}<br />
|kaitai struct=pcx<br />
|released=~1984<br />
}}<br />
'''PCX''' was the native image format of a DOS-based program ''PC Paintbrush'' from ZSoft Corporation, and was for a time (especially the late 1980s) a very popular image format among users of IBM PC compatibles and the PC/MS-DOS operating system. Much clip art was distributed in this format. However, it was tied closely to platform-specific attributes such as the particular graphic modes available in early PCs, and later lost ground to more platform-independent graphic formats like [[GIF]], [[JPEG]], and [[PNG]].<br />
<br />
PC Paintbrush was licensed to Microsoft, and it evolved into the Paint/Paintbrush application included with Windows. The versions for Windows 3.0 through Windows 95 support PCX format. There was also a product named ''Microsoft Paintbrush 2.0''.<br />
<br />
== Identification ==<br />
The first byte of a PCX file is <code>0x0a</code>. The second byte (the version number) is 0, 2, 3, 4, or 5. The third byte (the ''encoding'') is 1 or (rarely) 0.<br />
<br />
== Format details ==<br />
A PCX file consists of a 128-byte fixed header (48 bytes of which may be used for a palette), followed by the pixel data, followed in some cases by a 769-byte palette segment.<br />
<br />
A number of different PCX specifications can be found on the internet, but unfortunately, they tend to be incomplete, and ambiguous about certain details. Part of this may be the fault of the PCX format. PC Paintbrush itself reportedly may interpret the same file differently, depending on the version of the software, and the graphics mode being used.<br />
<br />
The variety of a given PCX file is determined primarily by the combination of the ''bits per pixel per plane'' field at offset 3, and the ''number of planes'' field at offset 65. The following varieties of PCX seem to be common and well-supported:<br />
* bits=1, planes=1: Bi-level, black and white (other colors may be possible, but are not well-supported)<br />
* bits=1, planes=4, version≠3: 16-color, using the palette contained in the header<br />
* bits=8, planes=1: 256-color, using the palette at the end of the file<br />
* bits=8, planes=3: 24-bit truecolor<br />
<br />
Unfortunately, there are many other varieties that are not necessarily so portable.<br />
<br />
=== Compression ===<br />
The PCX specifications require that all PCX image data be compressed with a form of [[run-length encoding]], indicated by the ''encoding'' field having the value 1. However, modern graphics software often supports uncompressed PCX, in which the ''encoding'' field is 0. You can use [[ImageMagick]] to create such files, if you explicitly disable compression.<br />
<br />
=== Transparency ===<br />
We haven't located any PCX specification that mentions transparency, yet some modern graphics software supports 32-bit RGBA format (bits=8, planes=4). [[ImageMagick]] will readily create such files.<br />
<br />
The Wikipedia article also suggests a 16-bit RGBA format (bits=4, planes=4).<br />
<br />
=== Resolution ===<br />
The PCX header has X- and Y-"resolution" fields, which you might think would help to display PCX images at the correct aspect ratio. Unfortunately, these fields are all but useless. If not set to zero, they might contain any of the following:<br />
* The dots per inch<br />
* The pixel dimensions of the target screen mode<br />
* The pixel dimensions of the image itself<br />
* A failed attempt at one of the above things<br />
<br />
== See also ==<br />
* [[DCX]] - A multi-image form of PCX<br />
* [[Word for DOS screen capture]] - Similar format<br />
<br />
== Specifications ==<br />
* [http://www.fileformat.info/format/pcx/spec/a10e75307b3a4cc49c3bbe6db4c41fa2/view.htm ZSoft Technical Reference Manual, Revision 5]<br />
* [http://www.martinreddy.net/gfx/2d/PCX.txt ZSoft Technical Reference Manual]<br />
** [http://www.textfiles.com/programming/FORMATS/pcx.txt PCX excerpt from the above document]<br />
* [http://www.textfiles.com/programming/FORMATS/pix_fmt.txt Picture format docs (of a number of formats including PCX)]<br />
* [http://www.shikadi.net/moddingwiki/PCX_Format PCX Format], from the DOS Game Modding Wiki<br />
* [http://www.drdobbs.com/pcx-graphics/184402396 Dr. Dobb's: PCX Graphics]<br />
* [http://www.fysnet.net/pcxfile.htm PCX graphics files explained]<br />
<br />
== Metaformat files ==<br />
<br />
* {{Synalysis|pcx}}<br />
<br />
== Software ==<br />
* [[ImageMagick]]<br />
* [[Konvertor]]<br />
* [[Netpbm]]: ppmtopcx, pcxtoppm<br />
* [http://www.irfanview.com/ IrfanView]<br />
* [[XnView]]<br />
* [http://toastytech.com/guis/win1x2x.html Applications for Windows 1.x and 2.x] ("For historical preservation")<br />
** [http://toastytech.com/guis/PC%20Paintbrush%20for%20Windows%201.05%20(3.5).zip {PC Paintbrush for Windows} v1.05] (for Windows 1.x and 2.x)<br />
** [http://toastytech.com/guis/pbrushwin122.zip {PC Paintbrush Plus for Windows} v1.22] (for Windows 2.x)<br />
<br />
== Sample files ==<br />
* http://samples.libav.org/image-samples/pcx/<br />
* http://cd.textfiles.com/clipart1996/ ...<br />
* http://samples.libav.org/image-samples/pcx/cga/ - Examples of (bits=2, planes=1)<br />
* http://cd.textfiles.com/hof91/icondemo/animals.pcx - Example of (bits=1, planes=3, version=3)<br />
* http://cd.textfiles.com/hof91/icondemo/shuttle1.pcx - Example of (bits=1, planes=4, version=3)<br />
<br />
== Links ==<br />
* {{EGFF|pcx|PCX File Format Summary}}, from the [[Encyclopedia of Graphics File Formats]]<br />
* [[Wikipedia:PCX|Wikipedia: PCX]]<br />
* [[Wikipedia:PC Paintbrush|Wikipedia: PC Paintbrush]]<br />
* [[Wikipedia:Microsoft Paint|Wikipedia: Microsoft Paint]]<br />
* [http://www.danielsays.com/ss-gallery-dos-pc-paintbrush-310.html PC Paintbrush 3.10], from Daniel's Legacy Computer Collections<br />
* [http://www.danielsays.com/ss-gallery-dos-ms-paintbrush-20.html Microsoft Paintbrush 2.0], from Daniel's Legacy Computer Collections<br />
* [http://www.betaarchive.com/forum/viewtopic.php?t=29671 BetaArchive forum post about PC Paintbrush and PCX]<br />
* [https://archive.org/details/bitsavers_mindsetPCP_4931746 PC Paintbrush manual]<br />
<br />
[[Category:Microsoft]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/DICOMDICOM2017-06-22T22:10:11Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|subcat=Health and Medicine<br />
|extensions={{ext|dcm}}, {{ext|dic}}, {{noext}}, others<br />
|mimetypes={{mimetype|application/dicom}}, {{mimetype|image/dicom-rle}}<br />
|pronom={{PRONOM|fmt/574}}<br />
|kaitai struct=dicom<br />
|released=1985<br />
}}<br />
'''DICOM''' (Digital Imaging and Communications in Medicine) is far and away the most widely-used (and probably the oldest) electronic file format in medical imaging. Nearly every device that acquires medical images – ultrasound, CT, PET, and MRI – acquires DICOM images in normal operation. There's a [http://medical.nema.org/standard.html 20-part specification] detailing the file format and its ecosystem. The IANA has assigned TCP and UDP port 104 to DICOM-related traffic.<br />
<br />
It's kind of a big deal.<br />
<br />
However, as with any sufficiently-adopted standard, there are splinter factions. The most common format is 2-dimensional images or "slices" that can be formed into a 3-dimensional image; however, some manufacturers have extended the standard to save 3 or even 4-dimensional images in a "mosaic" format.<br />
<br />
The earliest versions of the standard were known as ACR/NEMA, after the American College of Radiology and National Electrical Manufacturers Association.<br />
<br />
== Format ==<br />
While there are many complications involved in decoding a DICOM file, fundamentally it is simply a sequence of data blocks called ''attributes'' or ''elements''. Each attribute contains a 16-bit ''group number'' and a 16-bit ''element number'', conventionally written in hexadecimal and separated with a comma, e.g. "(0028,0011)".<br />
<br />
=== Standard attributes ===<br />
<br />
If an attribute's group number is even, then it is a standard attribute defined in the DICOM specification, and the group and element number together uniquely identify the meaning of the attribute.<br />
<br />
=== Private attributes ===<br />
<br />
If the group number is odd, then it is a ''private'' attribute, and it will have been preceded by a special attribute supplying a "private creator" identification string. A private attribute is uniquely identified by the combination of its creator identifier, group number, and the ''low byte'' of its element number.<br />
<br />
Some examples of creator identifiers are <code>GEMS_IMAG_01</code> and <code>Philips Imaging DD 001</code>. An identifier is usually specific to a manufacturer of medical equipment, not to a particular medical device. Unfortunately, instead of having one specification per manufacturer, private attributes are usually only documented in device-specific "DICOM Conformance Statements", which list only the attributes used by that one device.<br />
<br />
Examples of DICOM Conformance Statements (search the documents for "private creator"):<br />
* [http://www.gehealthcare.com/usen/interoperability/dicom/products/ct_dicom.html GE Healthcare CT DICOM Conformance Statements]<br />
* [http://www.healthcare.philips.com/main/about/Connectivity/dicom_statements/mri_statements.wpd Philips MRI DICOM Conformance Statements]<br />
<br />
Compilations:<br />
* http://svn.sourceforge.jp/svnroot/pgctn/pgctn/trunk/main_tree/dicomviewer/univiewer/dcmdict.txt<br />
<br />
== Types of DICOM files ==<br />
<br />
=== Little-endian vs. big-endian ===<br />
A DICOM file may use either little-endian or big-endian [[Endianness|byte order]] for certain representations of numbers. Little-endian is more common.<br />
<br />
=== Explicit VR vs. Implicit VR ===<br />
A DICOM file may use either ''Explicit VR'' or ''Implicit VR'' format. VR stands for ''Value Representation''.<br />
<br />
''Explicit VR'' means that each attribute has its data type stored in the file.<br />
<br />
''Implicit VR'' means that the attribute types are not stored in the file. The decoder will have to use a data dictionary of its own to figure them out.<br />
<br />
=== With header vs. Without header ===<br />
When stored on disk, DICOM files are supposed to begin with a header, though not all of them do. Files with a header are sometimes called '''Part 10''' files.<br />
<br />
When a header is present, the file begins with a 128-byte preamble that is usually set to all zero bytes, but which may be used for application-specific purposes. The next 4 bytes are the ASCII signature "DICM". Following the signature is a set of "Group 2" attributes, in little-endian, explicit-VR format. After the Group 2 attributes is the main part of the file, using the format given by the Transfer Syntax UID (0002,0010) attribute. ("Transfer Syntax" is the DICOM term for "file format".)<br />
<br />
Files without a header ''usually'' use Implicit VR, little-endian format.<br />
<br />
=== Modality ===<br />
One of the most important attributes in a DICOM file is ''Modality'' (0008,0060). It indicates the type of data stored in the file, and often corresponds to the type of machine that created the file. For example, a modality of "MR" means MRI, and "US" means ultrasound. Different modalities have different required attributes, and may have different conventions for how to display images contained in the file, etc.<br />
<br />
== Identifiers ==<br />
The most common filename extension is '''.dcm'''. Not all DICOM files have a filename extension.<br />
<br />
== Identification ==<br />
DICOM files with a header have the ASCII signature "<code>DICM</code>" at byte offset 128.<br />
<br />
Files without a header cannot be readily identified, though many begin with bytes <code>08 00 ?? 00</code>.<br />
<br />
== Image formats ==<br />
If a DICOM file contains image data, it contains either a single image, or a video clip (usually composed of multiple still images all having the same size and color format). There is an extension called [[Papyrus (DICOM extension)|Papyrus]] that can store multiple different images in a single file.<br />
<br />
The image format is determined by attribute (0002,0010): Transfer Syntax UID. If there is no such attribute, the image is uncompressed. Defined formats include:<br />
* [[Run-length encoding]]: UID 1.2.840.10008.1.2.5<br />
* [[DEFLATE]]: UID 1.2.840.10008.1.2.1.99<br />
* [[JPEG]] (lossy): UID 1.2.840.10008.1.2.4.50, etc.<br />
* [[Lossless JPEG (original)|Lossless JPEG]]: UID 1.2.840.10008.1.2.4.57, etc.<br />
* [[JPEG-LS]]: UID 1.2.840.10008.1.2.4.80 and .81<br />
* [[JPEG 2000]]: UID 1.2.840.10008.1.2.4.90, etc.<br />
* [[MPEG-2]]: UID 1.2.840.10008.1.2.4.100, etc.<br />
* [[H.264|MPEG-4 AVC/H.264]]: UID 1.2.840.10008.1.2.4.102, etc.<br />
<br />
== Specifications ==<br />
* [http://medical.nema.org/standard.html The DICOM Standard]<br />
<br />
== Software ==<br />
Software that reads DICOM files is pretty much everywhere. Most neuroimaging analysis packages have some way of importing DICOMs and turning them in to a higher-dimensional file; open-source stand-alone libraries abound, as well.<br />
<br />
* [http://www.pydicom.org/ Pydicom]<br />
* [http://www.cabiatl.com/mricro/mricron/dcm2nii.html dcm2nii]<br />
* [http://sourceforge.net/apps/mediawiki/gdcm/index.php?title=Main_Page Grassroots DICOM]<br />
* [http://www.healthcare.philips.com/main/about/connectivity/ Philips DICOM Viewer] For Microsoft Windows. Linked to in the sidebar of pages such as this one.<br />
* [[ImageMagick]] (read-only)<br />
<br />
== Sample files ==<br />
* [http://www.aycan.de/lp/sample-dicom-images.html Examples of DICOM images]<br />
<br />
== Links ==<br />
* [http://medical.nema.org/ DICOM home page]<br />
* [[Wikipedia:DICOM|Wikipedia article]]<br />
* [http://www.textfiles.com/programming/FORMATS/acr-nema.txt A little bit of discussion]<br />
* [https://orthanc.chu.ulg.ac.be/book/dicom-guide.html Understanding DICOM with Orthanc], "a gentle, informal, high-level introduction to DICOM"<br />
<br />
[[Category:Scientific Data formats]]<br />
[[Category:Graphics]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/LHALHA2017-06-22T18:05:44Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|subcat=Archiving<br />
|extensions={{ext|lha}}, {{ext|lzh}}<br />
|mimetypes={{mimetype|application/x-lzh-compressed}}<br />
|pronom={{PRONOM|fmt/626}}<br />
|kaitai struct=lzh<br />
|released=1988<br />
}}<br />
'''LHA''' is an archiving program and file format created by Haruyasu Yoshizaki in 1988. It was originally called LHArc, then was briefly LH before settling on LHA. In the 1990s it was the most popular archiving format on the Amiga platform, and 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. At present, it is mostly used in Japan.<br />
<br />
The file format is also known as '''LZH'''.<br />
<br />
== Format documentation ==<br />
* [http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/Notes/Notes.html Notes on header format]<br />
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info]<br />
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt LZH file header format (among other archive types)]<br />
<br />
== Software ==<br />
* [https://github.com/fragglet/lhasa lhasa]<br />
* [[7-Zip]]<br />
* [http://www.ponsoftware.com/en/ Explzh for Windows]<br />
* [http://homepage1.nifty.com/dangan/en/Content/Program/Java/jLHA/jLHA.html Java library]<br />
<br />
== Other links ==<br />
* [[Wikipedia:LHA (file format)|Wikipedia article]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/RARRAR2017-06-22T17:59:51Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Archiving<br />
|extensions={{ext|rar}}<br />
|mimetypes={{mimetype|application/vnd.rar}}, {{mimetype|application/x-rar-compressed}}<br />
|pronom={{PRONOM|x-fmt/264}}, {{PRONOM|fmt/411}}, {{PRONOM|fmt/613}}<br />
|kaitai struct=rar<br />
}}<br />
'''R'''oshal '''AR'''chive ('''RAR''') is a proprietary file format used by the compression software WinRAR. They make the decompression code available for use in other programs and allow its distribution, but with a license provision that "You cannot use the unrar source to re-create the RAR compression algorithm, which is proprietary."<br />
<br />
== File identification ==<br />
<br />
Current versions start their files with (hex) <code>52 61 72 21 1A 07 00</code>. Early versions (for which no format documentation is known) start with <code>52 45 7E 5E</code>.<br />
<br />
== Software ==<br />
* [http://www.rarlab.com/ WinRAR website]<br />
** [http://www.rarlab.com/rar/UnRARDLL.exe Free UnRAR.dll]<br />
** [http://www.rarlab.com/rar/unrarsrc-4.2.4.tar.gz UnRAR source]<br />
* [[Konvertor]]<br />
* [[7-Zip]]<br />
<br />
== Sample files ==<br />
* http://cd.textfiles.com/ataricompendium/FILES/MISC/PRTFOLIO/<br />
* http://cd.textfiles.com/thebbsorg/max_files/<br />
<br />
== Links ==<br />
* [[Wikipedia:RAR|Wikipedia article]]<br />
* [http://www.forensicswiki.org/wiki/RAR Forensics Wiki article] (has lots of format details)<br />
* [http://imgur.com/a/MtQZv#0 Mini RAR poster]</div>GreyCathttp://fileformats.archiveteam.org/wiki/TrueTypeTrueType2017-06-22T17:55:10Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Fonts<br />
|extensions={{ext|ttf}}<br />
|pronom={{PRONOM|x-fmt/453}}<br />
|kaitai struct=ttf<br />
|released=1991<br />
}}<br />
'''TrueType''' ('''TTF''') is an outline font format developed by Apple. It was first used by Mac OS System 7, and was licensed to Microsoft for use in Windows 3.1.<br />
<br />
See also its successor, [[OpenType]].<br />
<br />
== Specifications ==<br />
* [https://developer.apple.com/fonts/TTRefMan/ TrueType Reference Manual]<br />
<br />
== Sample files ==<br />
* http://cd.textfiles.com/maxfonts/TTF/<br />
* http://cd.textfiles.com/maxx/tothemaxww/FONT_TT/<br />
* http://cd.textfiles.com/fantaziafonts/ → .../TRUETYPE/*.TTF<br />
* http://cd.textfiles.com/collectionfw/cdr30/<br />
<br />
== Links ==<br />
* [[Wikipedia:TrueType|Wikipedia article]]<br />
* [http://www.truetype-typography.com/tthist.htm A History of TrueType]<br />
<br />
[[Category:Apple]]<br />
[[Category:Microsoft]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/ZIPZIP2017-06-22T17:54:51Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>:''Not to be confused with [[Zip disk]], an unrelated disk cartridge unit.''<br />
{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Archiving<br />
|extensions={{ext|zip}}<br />
|mimetypes={{mimetype|application/zip}}<br />
|uniform type={{UTI|com.pkware.zip-archive}}<br />
|locfdd={{LoCFDD|fdd000354}}, {{LoCFDD|fdd000355}}, {{LoCFDD|fdd000362}}, {{LoCFDD|fdd000361}}<br />
|pronom={{PRONOM|x-fmt/263}}<br />
|kaitai struct=zip<br />
|released=1989<br />
}}<br />
'''ZIP''' is one of the most popular file compression formats. It was created in 1989 as the native format of the PKZIP program, which was introduced by Phil Katz in the wake of a lawsuit (which he lost) against him by the makers of the then-popular [[ARC (compression format)|ARC]] program (and file format) for copyright and trademark infringement in an earlier program PKARC which had been file-compatible with ARC. This resulted in Katz creating a new file format, which rapidly overtook ARC in popularity (to a large extent because of BBS sysops, then the primary users of such compression, resenting the lawsuit). Many programs have been released for a variety of operating systems to compress and decompress ZIP files, and native support for the format is built into several popular operating systems.<br />
<br />
ZIP implementations vary in their support for features in the specification from PKWARE<ref>http://www.pkware.com/documents/casestudies/APPNOTE.TXT</ref>, particularly features added since version 2 (1993), some of which are protected by patents and require licensing. Many implementations limit the use of compression to the [[DEFLATE]] algorithm, introduced with version 2. Extensions incorporated into the specification that have been widely adopted are: long filenames; large files (using a technique known as ZIP64); and filenames in [[UTF-8]]. In 2011 work began on an interoperable subset of the latest APPNOTE.TXT with the intention of publication as ISO/IEC 21320-1, Document Container File -- Part 1: Core. As of November 2012, a discussion draft is available<ref>http://kikaku.itscj.ipsj.or.jp/sc34/open/1855.pdf</ref>. Designed to promote interoperable implementations, the draft ISO/IEC 21320-1 prohibits compression other than using [[DEFLATE]], segmentation or multiple volumes, and features that are subject to patents.<br />
<br />
While .zip is the usual file extension, ZIP-formatted files can be found with many other extensions since a number of other file formats use ZIP compression but store their files in application-specific extensions. See [[:Category:ZIP based file formats]] for a list of such formats.<br />
<br />
== See also ==<br />
* [[Self-extracting ZIP]]<br />
* [[Zipx]]<br />
<br />
== Identification ==<br />
The byte sequence <code>'P' 'K' 0x05 0x06</code> (the "end of central directory signature") appears somewhere in the file, usually beginning exactly 22 bytes from the end of the file. However, it will appear earlier if the file contains a "ZIP file comment" (common in the BBS era, but rare today), or for various other reasons. There seems to be no theoretical limit to how far back you may have to search for the signature, but some software limits it to around 64KB, which is the maximum length of a comment.<br />
<br />
Most ZIP files (but not [[self-extracting ZIP]] files) happen to begin with <code>'P' 'K' 0x03 0x04</code>. This is not a global file signature, but is the signature that appears once for every compressed file inside the ZIP file. Some ZIP-based formats are designed such that they necessarily begin in this way. But in general, it is even legal for a ZIP file to contain zero files, and such a ZIP file would not contain this signature at all.<br />
<br />
== Compression ==<br />
Each file in a ZIP file is compressed using one of a number of compression algorithms. Only compression types 0 (uncompressed) and 8 (DEFLATE) are likely to be seen in modern portable ZIP files. In old ZIP files, types 1 (Shrink) and 6 (Implode) are common.<br />
<br />
{| class="wikitable"<br />
! Code<br />
! Compression scheme<br />
! Notes and references<br />
|-<br />
|0 || Uncompressed<br />
|-<br />
|1 || Shrink ([[LZW]]) || Used by PKZIP prior to v2.0.<br />
|-<br />
|2–5 || Reduce || Used by PKZIP v0.x.<br />
|-<br />
|6 || Implode ([[Shannon–Fano coding]]) || Used by PKZIP v1.x. See also [[TTComp archive]].<br />
|-<br />
|8 || [[DEFLATE]] || Used by PKZIP v2.0+.<br />
|-<br />
|9 || Deflate64, a.k.a. Enhanced Deflate || Defined in ZIP specification v2.1+.<br />
|-<br />
|10 || PKWARE Data Compression Library Imploding (old IBM TERSE)<br />
|-<br />
|12 || [[Bzip2]] || Defined in ZIP specification v4.6+.<br />
|-<br />
|14 || [[LZMA]] (EFS) || Defined in ZIP specification v6.3+.<br />
|-<br />
|18 || IBM TERSE (new)<br />
|-<br />
|19 || IBM LZ77 z Architecture (PFS)<br />
|-<br />
|96 || (JPEG, according to WinZip)<br />
|-<br />
|97 || [[WavPack]] || Defined in ZIP specification v6.3.2+.<br />
|-<br />
|98 || [[PPMd]] version I, Rev 1 || Defined in ZIP specification v6.3+.<br />
|-<br />
|99 || (AES encryption, according to WinZip)<br />
|}<br />
<br />
== Extensible data fields ==<br />
Each member file of a ZIP file may have one or more ''extensible data fields'' (or ''extra fields''), containing arbitrary data. Each field is tagged with a 16-bit identifier. Extra fields are normally used for platform-specific or filesystem-specific metadata, or to work around limitations of the original ZIP format. They are not normally used for application-specific data.<br />
<br />
Most of the extra fields in use are documented in the ZIP "APPNOTE" specification, or by the Info-ZIP software (e.g. the proginfo/extrafld.txt file in the Zip program's source distribution).<br />
<br />
=== Known extensible data fields ===<br />
{| class="wikitable"<br />
!ID !! Owner !! Description !! Reference (identification) !! Reference (details)<br />
|-<br />
|0x0001 || PKWARE || Zip64 extended information || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x0007 || PKWARE || AV Info || APPNOTE ||<br />
|-<br />
|0x0008 || PKWARE || Reserved for extended language encoding data (PFS) || APPNOTE ||<br />
|-<br />
|0x0009 || PKWARE || OS/2 || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x000a || PKWARE || NTFS || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x000c || PKWARE || OpenVMS || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x000d || PKWARE || UNIX || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x000e || PKWARE || Reserved for file stream and fork descriptors || APPNOTE ||<br />
|-<br />
|0x000f || PKWARE || Patch Descriptor || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x0014 || PKWARE || PKCS#7 Store for X.509 Certificates || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x0015 || PKWARE || X.509 Certificate ID and Signature for individual file || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x0016 || PKWARE || X.509 Certificate ID for Central Directory || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x0017 || PKWARE || Strong Encryption Header || APPNOTE || APPNOTE<br />
|-<br />
|0x0018 || PKWARE || Record Management Controls || APPNOTE || APPNOTE<br />
|-<br />
|0x0019 || PKWARE || PKCS#7 Encryption Recipient Certificate List || APPNOTE || APPNOTE<br />
|-<br />
|rowspan="2"|0x0065 || PKWARE || MVS / IBM S/390 (Z390) attributes - uncompressed || APPNOTE || APPNOTE<br />
|-<br />
|PKWARE || OS/400 / AS/400 (I400) attributes - uncompressed || APPNOTE || APPNOTE<br />
|-<br />
|0x0066 || PKWARE || Reserved for IBM S/390 (Z390), AS/400 (I400) attributes - compressed || APPNOTE ||<br />
|-<br />
|0x07c8 || || Macintosh (Info-ZIP Macintosh, old) || APPNOTE || Info-ZIP<br />
|-<br />
|0x2605 || || ZipIt Macintosh || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x2705 || || ZipIt Macintosh 1.3.5+ (w/o full filename) || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x2805 || || ZipIt Macintosh 1.3.5+ || APPNOTE || APPNOTE<br />
|-<br />
|0x334d "<code>M3</code>" || || Info-ZIP Macintosh || APPNOTE || Info-ZIP<br />
|-<br />
|0x4154 "<code>TA</code>" || || Tandem NSK || Info-ZIP || Info-ZIP<br />
|-<br />
|0x4341 "<code>AC</code>" || || Acorn/SparkFS || APPNOTE || Info-ZIP<br />
|-<br />
|0x4453 "<code>SE</code>" || || Windows NT security descriptor (binary ACL) || APPNOTE || Info-ZIP<br />
|-<br />
|0x4690 || PKWARE || POSZIP 4690 (reserved) || APPNOTE ||<br />
|-<br />
|0x4704 || || VM/CMS || APPNOTE || Info-ZIP<br />
|-<br />
|0x470f || || MVS || APPNOTE || Info-ZIP<br />
|-<br />
|0x4854 "<code>TH</code>" || || Theos (old) || Info-ZIP || Info-ZIP<br />
|-<br />
|0x4b46 "<code>FK</code>" || || FWKCS MD5 || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x4c41 "<code>AL</code>" || || OS/2 access control list (text ACL) || APPNOTE || Info-ZIP<br />
|-<br />
|0x4d49 "<code>IM</code>" || || Info-ZIP OpenVMS || APPNOTE || Info-ZIP<br />
|-<br />
|0x4d63 "<code>cM</code>" || || Macintosh SmartZIP || Info-ZIP || Info-ZIP<br />
|-<br />
|0x4f4c "<code>LO</code>" || || Xceed original location || APPNOTE ||<br />
|-<br />
|0x5350 "<code>PS</code>" || || (Observed in some Psion files.) || ||<br />
|-<br />
|0x5356 "<code>VS</code>" || || AOS/VS (binary ACL) || APPNOTE || Info-ZIP<br />
|-<br />
|0x5455 "<code>UT</code>" || || Extended timestamp || APPNOTE || Info-ZIP<br />
|-<br />
|0x554e "<code>NU</code>" || || Xceed unicode || APPNOTE ||<br />
|-<br />
|0x5855 "<code>UX</code>" || || Info-ZIP UNIX (original, also OS/2, NT, etc.) || APPNOTE || Info-ZIP<br />
|-<br />
|0x6375 "<code>uc</code>" || || Info-ZIP Unicode Comment || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x6542 "<code>Be</code>" || || BeOS (BeBox, PowerMac, etc.) || APPNOTE || Info-ZIP<br />
|-<br />
|0x6854 "<code>Th</code>" || || Theos || Info-ZIP || Info-ZIP<br />
|-<br />
|0x7075 "<code>up</code>" || || Info-ZIP Unicode Path || APPNOTE || APPNOTE, Info-ZIP<br />
|-<br />
|0x7441 "<code>At</code>" || || AtheOS || ||<br />
|-<br />
|0x756e "<code>nu</code>" || || ASi UNIX || APPNOTE || Info-ZIP<br />
|-<br />
|0x7855 "<code>Ux</code>" || || Info-ZIP Unix (previous new) || APPNOTE || Info-ZIP<br />
|-<br />
|0x7875 "<code>ux</code>" || || Info-ZIP Unix (new) || Info-ZIP || Info-ZIP<br />
|-<br />
|0xa220 || || Microsoft Open Packaging Growth Hint || APPNOTE || APPNOTE<br />
|-<br />
|0xfb4a || || SMS/QDOS || Info-ZIP || Info-ZIP<br />
|-<br />
|0xfd4a || || SMS/QDOS || APPNOTE ||<br />
|}<br />
<br />
== Specifications ==<br />
* [http://www.pkware.com/documents/casestudies/APPNOTE.TXT APPNOTE from PKWARE] (latest version of formal spec)<br />
* [http://www.pkware.com/support/zip-app-note/archives APPNOTE Archives from PKWARE] (selected versions all the way back to 1.0)<br />
* [http://www.textfiles.com/programming/FORMATS/appnote.hac An early version of APPNOTE (not numbered or dated); perhaps the very first]<br />
* [http://www.iana.org/assignments/media-types/application/zip IANA registration for application/zip in July 1993] (corresponds to version 2 of APPNOTE.TXT)<br />
* [ftp://ftp.info-zip.org/pub/infozip/doc/ Documentation from Info-ZIP] (Includes Info-ZIP variants on APPNOTE.TXT dated from 1996 to 2004, specifications used as the basis for various open-source tools)<br />
* [http://kikaku.itscj.ipsj.or.jp/sc34/open/1855.pdf November 2012 working draft of ISO/IEC WD 21320-1, Document Container File -- Part 1: Core] Intended as restricted subset of APPNOTE 6.3.3 designed to promote interoperability.<br />
* [http://kikaku.itscj.ipsj.or.jp/sc34/open/1886.pdf February 2013 committee draft of ISO/IEC CD 21320-1, Document Container File -- Part 1: Core] Essentially the same as November 2012 working draft except that it mandates use of the UTF-8 indicator.<br />
* [http://apple2.org.za/gswv/a2zine/GS.WorldView/Resources/The.MacShrinkIt.Project/ARCHIVES.TXT Archive format info, including ZIP] (from 1989, when ZIP was newly released)<br />
* [http://www.textfiles.com/programming/FORMATS/arc_fmts.txt ZIP file header format (among other archive types)]<br />
* [http://rescene.wikidot.com/torrentzip TorrentZip]<br />
* Note that in general there is [https://twitter.com/tef/status/436555938879655937 no official file name encoding for ZIP files], and non ASCII filenames [http://stackoverflow.com/questions/106367/add-non-ascii-file-names-to-zip-in-java are not generally well supported]. The original implementation specified [[CP437|IBM Code Page 437]] for filenames, but as many characters cannot be expressed in that encoding, the filename bytes have often been interpreted using the current system codepage (implementation dependent behaviour). There is a flag to specify [[UTF-8]] as the encoding, but it is not supported in all major clients (e.g. Windows Explorer).<br />
* [http://www.opensource.apple.com/source/zip/zip-6/unzip/unzip/proginfo/extra.fld Info-ZIP's "extra fields" documentation]<br />
<br />
== Metaformat files ==<br />
<br />
* [https://www.synalysis.net/Grammars/zip.grammar Synalysis grammar file] (for Hexinator / Synalize It!; [[Synalysis grammar file|more details]])<br />
<br />
== Software ==<br />
* [http://www.info-zip.org/ Info-ZIP]: [http://www.info-zip.org/Zip.html Zip], [http://www.info-zip.org/UnZip.html UnZip]<br />
* [[7-Zip]]<br />
* [[zlib]] - The zlib library does not support ZIP format, but it is distributed with "minizip" code that supports most ZIP files.<br />
* [http://www.nih.at/libzip/ libzip] - Uses zlib.<br />
* [http://www.libarchive.org/ libarchive] - Uses zlib.<br />
* [http://zziplib.sourceforge.net/ zziplib]<br />
** [http://search.cpan.org/~vspader/Archive-ZZip-0.13/ZZip/ZZip.pm Archive::ZZip]: Perl bindings for zziplib<br />
* [https://github.com/richgel999/miniz miniz]<br />
* PKZIP<br />
** [http://cd.textfiles.com/1stcanadian/utils/pkz110/pkz110.exe PKZIP 1.10] (MS-DOS binary)<br />
** [http://www.ibiblio.org/pub/packages/ccic/software/dos/utils/pkz204g.exe PKZIP 2.04g] (MS-DOS binary)<br />
* [[Konvertor]]<br />
<br />
== Sample files ==<br />
* [http://cd.textfiles.com/librisbritannia/GRAPHICS/CLIPMAC/1608A.ZIP 1608A.ZIP] → D1-MAC.ZIP: Example of a file that uses the uncommon "Reduce" compression scheme<br />
<br />
== References ==<br />
<references/><br />
<br />
== Links ==<br />
* [[Wikipedia:Zip (file format)|Wikipedia: Zip (file format)]]<br />
* [[Wikipedia:PKZIP|Wikipedia: PKZIP]]<br />
* [http://research.swtch.com/zip Zip files all the way down] (creating an infinitely-regressed ZIP file)<br />
* [http://imgur.com/a/PbN8H#1 ZIP101 an archive walkthrough]<br />
* [http://literarymachin.es/deepzoom-osd-server/ Serve deepzoom images from a zip archive with openseadragon]<br />
* [https://stackoverflow.com/questions/20762094/how-are-zlib-gzip-and-zip-related-what-do-they-have-in-common-and-how-are-they/20765054#20765054 How are zlib, gzip and Zip related? What do they have in common and how are they different?] - Response to StackOverflow question by zlib/gzip co-creator Mark Adler <br />
[[Category:Compression]]<br />
[[Category:Metaformats]]<br />
[[Category:ZIP based file formats]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/User:GreyCatUser:GreyCat2017-06-22T17:42:34Z<p>GreyCat: Created page with "Lead developer of free/open source [http://kaitai.io Kaitai Struct] project, interested in many binary file formats and transcribing formal declarative specs for them."</p>
<hr />
<div>Lead developer of free/open source [http://kaitai.io Kaitai Struct] project, interested in many binary file formats and transcribing formal declarative specs for them.</div>GreyCathttp://fileformats.archiveteam.org/wiki/BMPBMP2017-06-22T17:29:15Z<p>GreyCat: Added Kaitai Struct link</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Graphics<br />
|extensions={{ext|bmp}}, {{ext|rle}}, {{ext|dib}}, others<br />
|mimetypes={{mimetype|image/bmp}}<br />
|locfdd={{LoCFDD|fdd000189}}<br />
|pronom={{PRONOM|fmt/116}}, others<br />
|kaitai struct=bmp<br />
|released=1987<br />
}}<br />
'''BMP''' is a family of raster image file formats primarily used on Microsoft Windows and OS/2 operating systems. The format is sometimes known as '''Device-Independent Bitmap''' ('''DIB'''), since, when loaded into memory using Windows software, the image is held as a DIB structure.<br />
<br />
Though seemingly a simple format, it is complicated by its many different versions, lack of an official specification, lack of any version control process, and ambiguities and contradictions in the documentation.<br />
<br />
Images are usually uncompressed, but [[Run-length encoding|RLE]] compression can be used under some conditions. [[JPEG]], [[PNG]], and [[Modified Huffman|Huffman 1D]] compression are also theoretically possible, but rarely supported.<br />
<br />
== Identifiers ==<br />
No MIME type has been officially registered. Strings found in practice are: image/bmp; image/x-bmp; image/x-ms-bmp<br />
<br />
The usual filename extension is '''.bmp'''. Extensions '''.rle''' (for RLE-compressed images) and '''.dib''' (which sometimes indicates that the file lacks a ''file header'') are also sometimes seen. Many other extensions have been used by various applications.<br />
<br />
== Identification ==<br />
BMP files start with bytes <code>'B' 'M'</code>.<br />
<br />
That's not a very distinctive signature, but it's hard to give any definite rules beyond that. The bytes at offset 6 to 9 are usually all zero, but a few OS/2 BMP files have nonzero "hotspot coordinates" at that location.<br />
<br />
See also [[VBM (VDC BitMap)]], which has a similar signature.<br />
<br />
== Well-known versions ==<br />
BMP files use a common 14-byte file header, named BITMAPFILEHEADER. Following that is the "Info header", which begins with a 4-byte integer indicating its size. The Info header size (mostly) reveals the version of BMP that the file uses.<br />
<br />
=== Windows BMP v2 ===<br />
* Info header size: 12<br />
* Info header name: BITMAPCOREHEADER<br />
* PRONOM: {{PRONOM|fmt/115}}<br />
<br />
See also OS/2 BMP 1.0, below.<br />
<br />
=== Windows BMP v3 ===<br />
* Info header size: 40<br />
* Info header name: BITMAPINFOHEADER<br />
* PRONOM: {{PRONOM|fmt/116}}, {{PRONOM|fmt/117}}<br />
<br />
This is by far the most widely used version of BMP. It was introduced with Windows 3.x. Windows NT extended it to support 16 and 32 bits/pixel.<br />
<br />
Windows CE also extended it, for example to allow 2 bits/pixel (see [[Pocket PC Bitmap]]), but its extensions were not migrated to the BMP v4 and v5 formats.<br />
<br />
It is apparently possible for OS/2 BMP 2.0 format to masquerade as Windows BMP v3. The upshot is that if the compression type is 3 and the bit depth is 1, or the compression type is 4 and the bit depth is 24, then the file should be treated as OS/2 BMP 2.0.<br />
<br />
=== Windows BMP v4 ===<br />
* Info header size: 108<br />
* Info header name: BITMAPV4HEADER<br />
* PRONOM: {{PRONOM|fmt/118}}<br />
<br />
Introduced with Windows 95. Adds support for transparency and colorimetry.<br />
<br />
=== Windows BMP v5 ===<br />
* Info header size: 124<br />
* Info header name: BITMAPV5HEADER<br />
* PRONOM: {{PRONOM|fmt/119}}<br />
<br />
Introduced with Windows 98. Adds support for [[ICC profile|ICC profiles]].<br />
<br />
== Other versions ==<br />
<br />
=== Windows BMP v1 ===<br />
* PRONOM: {{PRONOM|fmt/114}}<br />
<br />
Also called DDB, this is the bitmap file format used by Windows 1.0. It's not really a BMP format. Refer to [[Windows DDB]].<br />
<br />
=== OS/2 BMP 1.0 ===<br />
:''See also the [[OS/2 BMP|OS/2 BMP disambiguation page]].''<br />
* Info header size: 12<br />
* Info header name: BITMAPCOREHEADER or OS21XBITMAPHEADER<br />
* PRONOM: {{PRONOM|x-fmt/25}} (deprecated), {{PRONOM|fmt/115}}<br />
<br />
For practical purposes, OS/2 BMP 1.0 is identical to Windows BMP v2. But there can be at least one small difference: In OS/2 formats, the "Size" field at offset 2 (variously named "cbSize", "FileSize", or "bfSize") is sometimes set to the size of the headers, instead of the size of the file. For v1, that means it will be 26 (14+12). For v2, it can range from 30 to 78.<br />
<br />
=== OS/2 BMP 2.0 ===<br />
* Info header size: 16–64 (16, 40, 48, and 64 may be most common)<br />
* Info header name: BITMAPCOREHEADER2 or OS22XBITMAPHEADER<br />
* PRONOM: {{PRONOM|x-fmt/270}}<br />
<br />
OS/2 BMP 2.0 defines several file subtypes; here we are describing only the "Bitmap" subtype (files with a signature of "BM"). For other subtypes, see [[OS/2 bitmap family]].<br />
<br />
The header size can be reduced from its full size of 64 bytes. Omitted fields are assumed to have a value of zero.<br />
<br />
The fields in the first 40 bytes of the header are (nearly) identical to those in Windows BMP v3, v4, and v5. The remaining fields are different.<br />
<br />
OS/2 BMP 2.0 supports compression types "Huffman 1D" and "RLE24", unlike any other version of BMP.<br />
<br />
=== BITMAPV2INFOHEADER ===<br />
* Info header size: 52<br />
* Info header name: BITMAPV2INFOHEADER<br />
<br />
No details known.<br />
<br />
=== BITMAPV3INFOHEADER ===<br />
* Info header size: 56<br />
* Info header name: BITMAPV3INFOHEADER<br />
<br />
No details known.<br />
<br />
== Symbol definitions ==<br />
Here are the definitions, from the Windows SDKs, of some of the symbols used in the BMP documentation.<br />
<br />
All integers use little-endian [[Endianness|byte order]].<br />
<br />
{| class="wikitable"<br />
! Symbol<br />
! Definition<br />
|-<br />
|WORD || unsigned 16-bit integer<br />
|-<br />
|DWORD || unsigned 32-bit integer<br />
|-<br />
|LONG || signed 32-bit integer<br />
|-<br />
|BI_RGB || 0<br />
|-<br />
|BI_RLE8 || 1<br />
|-<br />
|BI_RLE4 || 2<br />
|-<br />
|BI_BITFIELDS || 3<br />
|-<br />
|(Huffman 1D) || 3<br />
|-<br />
|BI_JPEG || 4<br />
|-<br />
|(24-bit RLE) || 4<br />
|-<br />
|BI_PNG || 5<br />
|-<br />
|BI_ALPHABITFIELDS || 6<br />
|-<br />
|BI_SRCPREROTATE || 0x8000 (?)<br />
|-<br />
|LCS_CALIBRATED_RGB || 0<br />
|-<br />
|LCS_sRGB || <code>'sRGB'</code> = 0x73524742<br />
|-<br />
|LCS_WINDOWS_COLOR_SPACE || <code>'Win '</code> = 0x57696e20<br />
|-<br />
|PROFILE_LINKED || <code>'LINK'</code> = 0x4c494e4b<br />
|-<br />
|PROFILE_EMBEDDED || <code>'MBED'</code> = 0x4d424544<br />
|-<br />
|LCS_GM_BUSINESS || 1<br />
|-<br />
|LCS_GM_GRAPHICS || 2<br />
|-<br />
|LCS_GM_IMAGES || 4<br />
|-<br />
|LCS_GM_ABS_COLORIMETRIC || 8<br />
|}<br />
<br />
== Specifications ==<br />
* BMP (as "DeviceIndependentBitmap") is defined in the [http://msdn.microsoft.com/en-us/library/cc215212.aspx Windows Metafile Specification]<br />
* [http://msdn.microsoft.com/en-us/library/dd183374%28v=vs.85%29.aspx BITMAPFILEHEADER]<br />
* [http://msdn.microsoft.com/en-us/library/dd183372%28v=vs.85%29.aspx BITMAPCOREHEADER]<br />
* [http://msdn.microsoft.com/en-us/library/dd183376%28v=vs.85%29.aspx BITMAPINFOHEADER]<br />
* [http://msdn.microsoft.com/en-us/library/aa452885.aspx BITMAPINFOHEADER (Windows CE 5.0)]<br />
* [http://msdn.microsoft.com/en-us/library/dd183380%28v=vs.85%29.aspx BITMAPV4HEADER]<br />
* [http://msdn.microsoft.com/en-us/library/dd183381%28v=vs.85%29.aspx BITMAPV5HEADER]<br />
* [http://www.digicamsoft.com/bmp/bmp.html Another site with format descriptions]<br />
* [http://www.fileformat.info/format/os2bmp/spec/902d5c253f2a43ada39c2b81034f27fd/view.htm OS/2 Presentation Manager Programming Reference Guide, Vol III]<br />
<br />
== Metaformat files ==<br />
<br />
* {{Synalysis|bitmap}}<br />
<br />
== Sample files ==<br />
=== Windows BMP v2 ===<br />
This format is fairly common, but examples of it can be hard to spot amidst all the BMPv3 files.<br />
* [http://samples.libav.org/image-samples/money-2-%28os2%29.bmp money-2-(os2).bmp], [http://samples.libav.org/image-samples/money-16-%28os2%29.bmp money-16-(os2).bmp], [http://samples.libav.org/image-samples/money-256-%28os2%29.bmp money-256-(os2).bmp], [http://samples.libav.org/image-samples/money-24bit-os2.bmp money-24bit-os2.bmp]<br />
* http://cd.textfiles.com/hobbesos29709/disk2/MULTIMED/BMP/ → BMPS*.ZIP, OS2ORBIT.ZIP, REALMERL.BMP<br />
<br />
=== Windows BMP v3 ===<br />
* http://cd.textfiles.com/mmplatinum/IMAGES/BMP/<br />
* http://cd.textfiles.com/monstmedia/WIN/ICONS/<br />
* http://cd.textfiles.com/maxx/tothemaxww/BMPMISC/<br />
<br />
=== OS/2 BMP 2.0 ===<br />
* [http://kimludvigsen.dk/os2/os2/graphx/teamlog2.zip teamlog2.zip] → TEAMcol.bmp, teamcol2.bmp<br />
* [http://samples.libav.org/image-samples/bmp-files/test4os2v2.bmp test4os2v2.bmp]<br />
* [http://cd.textfiles.com/hobbesos29709/disk2/MULTIMED/BMP/CARDBMPS.ZIP CARDBMPS.ZIP] - Most of the files are OS/2 BMP 2.0<br />
* [http://cd.textfiles.com/hobbesos29709/disk1/GAMES/MAKMAN10.ZIP MAKMAN10.ZIP] - Some of the files are files OS/2 BMP 2.0<br />
* [http://cd.textfiles.com/monstmedia/IMAGES/JUR_OS2.BMP JUR_OS2.BMP]<br />
* http://cd.textfiles.com/pier/pier09/cdrom/036/ → os2bmp*.zip<br />
<br />
=== Various ===<br />
* [http://wvnvms.wvnet.edu/vmswww/bmp.html Example BMP images (all Windows v3 except as indicated)]<br />
* [http://entropymine.com/jason/bmpsuite/bmpsuite/html/bmpsuite.html BMP Suite Image List]<br />
<br />
== See also ==<br />
* [[CUR]]<br />
* [[ICO]]<br />
* [[OS/2 bitmap family]]<br />
* [[OS/2 Bitmap Array]]<br />
* [[packPNM]]<br />
* [[Pocket PC Bitmap]]<br />
* [[Poser Bump Map]]<br />
* [[Segmented Hypergraphics]]<br />
* [[Windows DDB]]<br />
* [[Winzle Puzzle]]<br />
<br />
== Resources ==<br />
* [[Wikipedia:BMP file format|Wikipedia: BMP file format]]<br />
* {{EGFF|bmp|Microsoft Windows Bitmap File Format Summary}}, from the [[Encyclopedia of Graphics File Formats]]<br />
* {{EGFF|os2bmp|OS/2 Bitmap File Format Summary}}, from the [[Encyclopedia of Graphics File Formats]]<br />
* [http://coptr.digipres.org/Bad_Peggy Bad Peggy: scans images for problems]<br />
<br />
[[Category:Microsoft]]<br />
[[Category:Windows]]<br />
[[Category:OS/2]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Template:FormatInfoTemplate:FormatInfo2017-06-22T17:26:59Z<p>GreyCat: Fixed Kaitai Struct Spec row naming as per discussion on #archiveteam-bs</p>
<hr />
<div><table class="infobox formatinfo" border="0" style="float: right; border: 1px solid #666666; max-width: 25%; overflow: hidden; background-color:{{#switch: {{{formattype}}}<br />
|electronic=#F8E0F7<br />
|physical=#F6E3CE<br />
|organic=#CEF6CE<br />
|Languages=#CEE3F6<br />
|#F8E0F7<br />
}};<br />
padding: 0.25em; margin: 0.25em 1em;"><br />
<tr><br />
<th colspan="2">[[File Formats|File Format]]<includeonly>[[Category:File Formats]]</includeonly></th><br />
</tr><br />
{{FormatInfo/row|Name|{{{name|{{PAGENAME}}}}}{{DEFAULTSORT:{{{name|{{PAGENAME}}}}}}}}}<br />
{{FormatInfo/row<br />
| Ontology<br />
|<br />
<ul><li><br />
{{#switch: {{{formattype}}}<br />
|electronic=[[Electronic File Formats]]<includeonly>[[Category:Electronic File Formats]]</includeonly><br />
|physical=[[Physical File Formats]]<includeonly>[[Category:Physical File Formats]]</includeonly><br />
|organic=[[Organic File Formats]]<includeonly>[[Category:Organic File Formats]]</includeonly><br />
|[[{{{formattype|Electronic File Formats}}}]]<includeonly>[[Category:{{{formattype|Electronic File Formats}}}]]</includeonly><br />
}}<br />
<ul><li><br />
{{#if:{{{subcat|}}}<br />
|[[{{{subcat}}}]]<includeonly>[[Category:{{{subcat}}}]]</includeonly><br />
<ul><li><br />
{{#if:{{{subcat2|}}}<br />
|[[{{{subcat2}}}]]<includeonly>[[Category:{{{subcat2}}}]]</includeonly><br />
<ul><li><br />
{{#if:{{{subcat3|}}}<br />
|[[{{{subcat3}}}]]<includeonly>[[Category:{{{subcat3}}}]]</includeonly><br />
<ul><li><br />
{{#if:{{{subcat4|}}}<br />
|[[{{{subcat4}}}]]<includeonly>[[Category:{{{subcat4}}}]]</includeonly><br />
<ul><li><br />
{{#if:{{{subcat5|}}}<br />
|[[{{{subcat5}}}]]<includeonly>[[Category:{{{subcat5}}}]]</includeonly><br />
<ul><li><br />
{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
</li></ul><br />
|{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
}}<br />
</li></ul><br />
|{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
}}<br />
</li></ul><br />
|{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
}}<br />
</li></ul><br />
|{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
}}<br />
</li></ul><br />
|{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
}}<br />
</li></ul><br />
</li></ul><br />
}}{{#if:{{{extensions|{{{extension|}}}}}}|<br />
{{FormatInfo/row|Extension(s)|{{{extensions|{{{extension}}}}}}}}<br />
}}{{#if:{{{mimetypes|{{{mimetype|}}}}}}|<br />
{{FormatInfo/row|MIME Type(s)|{{{mimetypes|{{{mimetype}}}}}}}}<br />
}}{{#if:{{{locfdd|}}}|<br />
{{FormatInfo/row|LoCFDD|{{{locfdd}}}}}<br />
}}{{#if:{{{fourccs|}}}|<br />
{{FormatInfo/row|FourCC|{{{fourccs}}}}}<br />
}}{{#if:{{{pronom|}}}|<br />
{{FormatInfo/row|PRONOM|{{{pronom}}}}}<br />
}}{{#if:{{{type code|}}}|<br />
{{FormatInfo/row|Type Code|{{{type code}}}}}<br />
}}{{#if:{{{uniform type|}}}|<br />
{{FormatInfo/row|UTI|{{{uniform type}}}}}<br />
}}{{#if:{{{kaitai struct|}}}|<br />
{{FormatInfo/row|Kaitai Struct Spec|[http://formats.kaitai.io/{{{kaitai struct}}}/index.html {{{kaitai struct}}}.ksy]}}<br />
}}{{#if:{{{conforms to|}}}|<br />
{{FormatInfo/row|Conforms To|{{{conforms to}}}}}<br />
}}{{#if:{{{released|}}}|<br />
{{FormatInfo/row|Released|{{{released}}}}}<br />
}}<br />
{{#if:{{{image|}}}|<br />
<tr><td align="center" colspan="2"><br />
[[Image:{{{image}}}|200px|{{{caption}}}]]<br />
</td></tr><br />
}}<br />
{{#if:{{{caption|}}}|<br />
<tr><td align="center" colspan="2"><br />
<small>{{{caption}}}</small><br />
</td></tr><br />
}}<br />
</table><br />
<includeonly>{{#if:{{{formattype|}}}||[[Category:FormatInfo without formattype]]}}{{#if:{{{subcat|}}}||[[Category:FormatInfo without subcat]]}}{{#ifeq:{{{formattype|electronic}}}|electronic|{{#if:{{{extensions|}}}||[[Category:FormatInfo without extensions]]}}{{#if:{{{mimetypes|}}}||[[Category:FormatInfo without mimetypes]]}}|}}</includeonly><noinclude><br />
== Usage ==<br />
<pre><br />
{{FormatInfo<br />
| name = <br />
| formattype = <br />
| subcat = <br />
| subcat2 = <br />
| subcat3 = <br />
| subcat4 = <br />
| subcat5 = <br />
| thiscat = <br />
| extensions = <br />
| mimetypes = <br />
| locfdd = <br />
| fourccs =<br />
| pronom =<br />
| type code =<br />
| uniform type =<br />
| kaitai struct =<br />
| conforms to = <br />
| released =<br />
| image =<br />
| caption =<br />
}}<br />
</pre><br />
<br />
===Parameters===<br />
;name: '''(optional)''' The name of the file format. ''Default: <nowiki>{{PAGENAME}}</nowiki>''<br />
;formattype: '''(optional)''' The [[File Formats|type]] of the file format. Choose 'electronic', 'physical', or 'organic', or specify your own. ''Default: electronic''<br />
;subcat: '''(optional)''' The subcategory of the file format.<br />
;subcat2: '''(optional)''' An additional subcategory of the file format.<br />
;subcat3: '''(optional)''' An additional subcategory of the file format.<br />
;subcat4: '''(optional)''' An additional subcategory of the file format.<br />
;subcat5: '''(optional)''' An additional subcategory of the file format.<br />
;thiscat: '''(optional)''' Special parameter for indicating ontology of a non-terminal subcategory page.<br />
;extensions: '''(optional)''' The format's known filename extensions. Use [[Template:ext|<nowiki>{{ext}}</nowiki>]].<br />
;mimetypes: '''(optional)''' The MIME type of the format. Use [[Template:mimetype|<nowiki>{{mimetype}}</nowiki>]].<br />
;locfdd: '''(optional)''' Identifier for this format from the Library of Congress Sustainability of Digital Formats, e.g. "fdd000314". Use [[Template:LoCFDD|<nowiki>{{LoCFDD}}</nowiki>]].<br />
;fourccs: '''(optional)''' FourCC code<br />
;pronom: '''(optional)''' The [[Sources/PRONOM|PRONOM]] ID of the format, e.g. "fmt/45". Use [[Template:PRONOM|<nowiki>{{PRONOM}}</nowiki>]].<br />
;type code: '''(optional)''' The Type Code of the file, used by Mac OS Classic.<br />
;uniform type: '''(optional)''' The Uniform Type Identifier (UTI), used by Mac OS X and iOS.<br />
;kaitai struct: '''(optional)''' An identifier of a format at [http://formats.kaitai.io Kaitai Struct] project, e.g. "ico" would result in a link to http://formats.kaitai.io/ico/index.html generated.<br />
;conforms to: '''(optional)''' The UTI of the parent format in the conformance hierarchy.<br />
;released: '''(optional)''' The date the format was publicly released.<br />
;image: '''(optional)''' Illustration to show in infobox.<br />
;caption: '''(optional)''' Caption for image<br />
<br />
===Potential Parameters===<br />
This is a list of parameters that could be included in this template.<br />
<br />
;mime & mime aliases: Split mimetypes into primary type and known aliases.<br />
;charset: For character encodings, the value of the charset parameter used to identify it in MIME headers<br />
;version: The version of the format, e.g. "1.4" for PDF 1.4<br />
;previous version: Link to page about the previous version of this format.<br />
;next version: Link to page about the next version of this format.<br />
;back compat: Whether this version is backwards compatible with the previous version.<br />
;wikipedia: Name of the Wikipedia page that describes this format, e.g. "JPEG 2000" will be rendered as [[Wikipedia:JPEG 2000|JPEG 2000]]<br />
;magic: A sequence of byte values that can be used to identify the file contents, usually located close to the start of the file.<br />
;container for: A list of formats this format can contain.<br />
;contained by: A list of formats that may contain this format.<br />
;extended from: Any formats this one was based upon.<br />
;extended to: Any formats that have been derived from this one.<br />
;spec: URL of the format specification.<br />
;spec availability: Type of availability the specification, e.g. commercial, free.<br />
;patent license: Unknown, Disputed, Encumbered, (F)RAND, Royalty-Free, Unencumbered.<br />
;compression: Types of compression. Whether Lossy, Lossless, or Both, and whether Optional or Always compressed. i.e. JPEG is Always Lossy.<br />
;endianness: Big-endian or Little-endian byte ordering.<br />
;developed by: Who developed the format.<br />
;maintained by: Who now maintains the format.<br />
;reference impl: Link to page about the reference implementation of this format, if any.<br />
;embeddable metadata: Kinds of metadata that can be embedded in this format.<br />
;tpm: Technical Protection Mechanisms supported by the format, e.g. encryption.<br />
;dependencies: External resources that files in this format may depend upon, e.g. fonts, or even hardware.<br />
;error resiliance: Is this format able to detect damage or recover from damage to the bitstream.<br />
;namespace: The namespace-uri that defines the file format if it is XML-based.<br />
<br />
==Examples==<br />
<br />
<br />
[[Category:File Formats| ]]<br />
</noinclude></div>GreyCathttp://fileformats.archiveteam.org/wiki/ICOICO2017-06-22T17:18:47Z<p>GreyCat: Added sample link to Kaitai Struct spec</p>
<hr />
<div>{{FormatInfo<br />
|formattype=electronic<br />
|subcat=Graphics<br />
|extensions={{ext|ico}}<br />
|mimetypes={{mimetype|image/vnd.microsoft.icon}}, {{mimetype|image/x-icon}}<br />
|pronom={{PRONOM|x-fmt/418}}<br />
|kaitai struct=ico<br />
}}<br />
'''ICO''' is a Microsoft Windows icon format.<br />
<br />
ICO files can have multiple icon images of different sizes and color types in the same file, so that programs displaying them can pick the best image for a particular use.<br />
<br />
== Format ==<br />
An ICO file begins with a 6-byte header, followed one or more 16-byte directory entries (one for each image). Each entry contains information about the image's size, color format, and location in the file.<br />
<br />
The rest of the file contains the actual images, which usually use a variant of [[BMP]] format (without the file header, and with a transparency mask). Alternatively, they may use [[PNG]] format.<br />
<br />
ICO format is very similar to [[CUR]] (cursor) format.<br />
<br />
== Identification ==<br />
Files begin with bytes <code>00 00 01 00</code>.<br />
<br />
Note that this byte sequence is not very discriminating. For example, many [[JBIG]] files begin the same way.<br />
<br />
== Changing default icons for Windows file types ==<br />
<br />
Versions of Windows up through XP had a nice and simple means of changing default icons for file types through the properties tab you can pull up for any file/folder. However, Microsoft in its infinite wisdom (or wisdumb?) decided to change that starting in Vista, removing the option and making the changing of icons something that practically requires a PhD in computer science. (Changing icons for ''folders'' is still a simple option, but not for files.) If you want to try it, here's how:<br />
<br />
* Run Registry Edit (Regedit.exe from the start menu)<br />
<br />
* Navigate to '''HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ ''.ext'' \ UserChoice''', where ''.ext'' is replaced by the file extension you are trying to modify<br />
<br />
* If no UserChoice item exists here, go up one level to the one named after the extension you're looking for.<br />
<br />
* Note the value of this field, which is what the file type in question is known as to Windows.<br />
<br />
* Now go to '''HKEY_CLASSES_ROOT \ ''yourfiletype'' \ DefaultIcon''' in Registry Edit, where ''yourfiletype'' is replaced with the value found in the extension data above.<br />
<br />
* Change the value here to the path/filename of the desired icon. If no DefaultIcon item exists, create one under the file type.<br />
<br />
* Icon paths can be the name of a .ico file, or an .exe or .dll that contains an icon; in cases where multiple icon images are in a file, the name needs to be suffixed with a comma and a number which gives the index of the icon within the file, where 0 is the first one. The icon picker which you can get while changing icons for a folder/directory can be helpful here; if you choose an exe/dll file, it shows all icons in the file and if you count from left to right and top to bottom you can determine the index of the one you want.<br />
<br />
== See also ==<br />
* [[BMP]]<br />
* [[CUR]]<br />
* [[Favicon]]<br />
* [[OS/2 Icon]]<br />
* [[Windows 1.0 Icon]]<br />
<br />
== Software ==<br />
Many image viewers and web browsers support ICO format.<br />
* [http://www.nongnu.org/icoutils/ icoutils] (icotool)<br />
<br />
== Sample files ==<br />
* http://cd.textfiles.com/ccbwindows93/ICONS/<br />
<br />
== References ==<br />
* [[Wikipedia:ICO %28file format%29|ICO (Wikipedia)]]<br />
* [https://web.archive.org/web/20070423201738/http://www.oreilly.com/www/centers/gff/formats/miccur/index.htm GFF Format Summary: Microsoft Windows Cursor and Icon] (from archive.org)<br />
* The evolution of the ICO file format: [https://blogs.msdn.microsoft.com/oldnewthing/20101018-00/?p=12513 part 1], [https://blogs.msdn.microsoft.com/oldnewthing/20101019-00/?p=12503 part 2], [https://blogs.msdn.microsoft.com/oldnewthing/20101021-00/?p=12483 part 3], [https://blogs.msdn.microsoft.com/oldnewthing/20101022-00/?p=12473 part 4]<br />
* [http://www.winhelponline.com/blog/change-file-type-icon-windows-7-vista/ Changing default file icons in Vista and Win7]<br />
<br />
[[Category:Microsoft]]<br />
[[Category:Windows]]</div>GreyCathttp://fileformats.archiveteam.org/wiki/Template:FormatInfoTemplate:FormatInfo2017-06-22T17:18:08Z<p>GreyCat: Added Kaitai Struct link (approved by xmc on #archiveteam-bs)</p>
<hr />
<div><table class="infobox formatinfo" border="0" style="float: right; border: 1px solid #666666; max-width: 25%; overflow: hidden; background-color:{{#switch: {{{formattype}}}<br />
|electronic=#F8E0F7<br />
|physical=#F6E3CE<br />
|organic=#CEF6CE<br />
|Languages=#CEE3F6<br />
|#F8E0F7<br />
}};<br />
padding: 0.25em; margin: 0.25em 1em;"><br />
<tr><br />
<th colspan="2">[[File Formats|File Format]]<includeonly>[[Category:File Formats]]</includeonly></th><br />
</tr><br />
{{FormatInfo/row|Name|{{{name|{{PAGENAME}}}}}{{DEFAULTSORT:{{{name|{{PAGENAME}}}}}}}}}<br />
{{FormatInfo/row<br />
| Ontology<br />
|<br />
<ul><li><br />
{{#switch: {{{formattype}}}<br />
|electronic=[[Electronic File Formats]]<includeonly>[[Category:Electronic File Formats]]</includeonly><br />
|physical=[[Physical File Formats]]<includeonly>[[Category:Physical File Formats]]</includeonly><br />
|organic=[[Organic File Formats]]<includeonly>[[Category:Organic File Formats]]</includeonly><br />
|[[{{{formattype|Electronic File Formats}}}]]<includeonly>[[Category:{{{formattype|Electronic File Formats}}}]]</includeonly><br />
}}<br />
<ul><li><br />
{{#if:{{{subcat|}}}<br />
|[[{{{subcat}}}]]<includeonly>[[Category:{{{subcat}}}]]</includeonly><br />
<ul><li><br />
{{#if:{{{subcat2|}}}<br />
|[[{{{subcat2}}}]]<includeonly>[[Category:{{{subcat2}}}]]</includeonly><br />
<ul><li><br />
{{#if:{{{subcat3|}}}<br />
|[[{{{subcat3}}}]]<includeonly>[[Category:{{{subcat3}}}]]</includeonly><br />
<ul><li><br />
{{#if:{{{subcat4|}}}<br />
|[[{{{subcat4}}}]]<includeonly>[[Category:{{{subcat4}}}]]</includeonly><br />
<ul><li><br />
{{#if:{{{subcat5|}}}<br />
|[[{{{subcat5}}}]]<includeonly>[[Category:{{{subcat5}}}]]</includeonly><br />
<ul><li><br />
{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
</li></ul><br />
|{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
}}<br />
</li></ul><br />
|{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
}}<br />
</li></ul><br />
|{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
}}<br />
</li></ul><br />
|{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
}}<br />
</li></ul><br />
|{{#if:{{{thiscat|}}}|[[{{{thiscat}}}]]<includeonly>[[Category:{{{thiscat}}}| ]]</includeonly>|[[{{{name|{{PAGENAME}}}}}]]}}<br />
}}<br />
</li></ul><br />
</li></ul><br />
}}{{#if:{{{extensions|{{{extension|}}}}}}|<br />
{{FormatInfo/row|Extension(s)|{{{extensions|{{{extension}}}}}}}}<br />
}}{{#if:{{{mimetypes|{{{mimetype|}}}}}}|<br />
{{FormatInfo/row|MIME Type(s)|{{{mimetypes|{{{mimetype}}}}}}}}<br />
}}{{#if:{{{locfdd|}}}|<br />
{{FormatInfo/row|LoCFDD|{{{locfdd}}}}}<br />
}}{{#if:{{{fourccs|}}}|<br />
{{FormatInfo/row|FourCC|{{{fourccs}}}}}<br />
}}{{#if:{{{pronom|}}}|<br />
{{FormatInfo/row|PRONOM|{{{pronom}}}}}<br />
}}{{#if:{{{type code|}}}|<br />
{{FormatInfo/row|Type Code|{{{type code}}}}}<br />
}}{{#if:{{{uniform type|}}}|<br />
{{FormatInfo/row|UTI|{{{uniform type}}}}}<br />
}}{{#if:{{{kaitai struct|}}}|<br />
{{FormatInfo/row|Formal Spec (.ksy)|[http://formats.kaitai.io/{{{kaitai struct}}}/index.html {{{kaitai struct}}}.ksy]}}<br />
}}{{#if:{{{conforms to|}}}|<br />
{{FormatInfo/row|Conforms To|{{{conforms to}}}}}<br />
}}{{#if:{{{released|}}}|<br />
{{FormatInfo/row|Released|{{{released}}}}}<br />
}}<br />
{{#if:{{{image|}}}|<br />
<tr><td align="center" colspan="2"><br />
[[Image:{{{image}}}|200px|{{{caption}}}]]<br />
</td></tr><br />
}}<br />
{{#if:{{{caption|}}}|<br />
<tr><td align="center" colspan="2"><br />
<small>{{{caption}}}</small><br />
</td></tr><br />
}}<br />
</table><br />
<includeonly>{{#if:{{{formattype|}}}||[[Category:FormatInfo without formattype]]}}{{#if:{{{subcat|}}}||[[Category:FormatInfo without subcat]]}}{{#ifeq:{{{formattype|electronic}}}|electronic|{{#if:{{{extensions|}}}||[[Category:FormatInfo without extensions]]}}{{#if:{{{mimetypes|}}}||[[Category:FormatInfo without mimetypes]]}}|}}</includeonly><noinclude><br />
== Usage ==<br />
<pre><br />
{{FormatInfo<br />
| name = <br />
| formattype = <br />
| subcat = <br />
| subcat2 = <br />
| subcat3 = <br />
| subcat4 = <br />
| subcat5 = <br />
| thiscat = <br />
| extensions = <br />
| mimetypes = <br />
| locfdd = <br />
| fourccs =<br />
| pronom =<br />
| type code =<br />
| uniform type =<br />
| kaitai struct =<br />
| conforms to = <br />
| released =<br />
| image =<br />
| caption =<br />
}}<br />
</pre><br />
<br />
===Parameters===<br />
;name: '''(optional)''' The name of the file format. ''Default: <nowiki>{{PAGENAME}}</nowiki>''<br />
;formattype: '''(optional)''' The [[File Formats|type]] of the file format. Choose 'electronic', 'physical', or 'organic', or specify your own. ''Default: electronic''<br />
;subcat: '''(optional)''' The subcategory of the file format.<br />
;subcat2: '''(optional)''' An additional subcategory of the file format.<br />
;subcat3: '''(optional)''' An additional subcategory of the file format.<br />
;subcat4: '''(optional)''' An additional subcategory of the file format.<br />
;subcat5: '''(optional)''' An additional subcategory of the file format.<br />
;thiscat: '''(optional)''' Special parameter for indicating ontology of a non-terminal subcategory page.<br />
;extensions: '''(optional)''' The format's known filename extensions. Use [[Template:ext|<nowiki>{{ext}}</nowiki>]].<br />
;mimetypes: '''(optional)''' The MIME type of the format. Use [[Template:mimetype|<nowiki>{{mimetype}}</nowiki>]].<br />
;locfdd: '''(optional)''' Identifier for this format from the Library of Congress Sustainability of Digital Formats, e.g. "fdd000314". Use [[Template:LoCFDD|<nowiki>{{LoCFDD}}</nowiki>]].<br />
;fourccs: '''(optional)''' FourCC code<br />
;pronom: '''(optional)''' The [[Sources/PRONOM|PRONOM]] ID of the format, e.g. "fmt/45". Use [[Template:PRONOM|<nowiki>{{PRONOM}}</nowiki>]].<br />
;type code: '''(optional)''' The Type Code of the file, used by Mac OS Classic.<br />
;uniform type: '''(optional)''' The Uniform Type Identifier (UTI), used by Mac OS X and iOS.<br />
;kaitai struct: '''(optional)''' An identifier of a format at [http://formats.kaitai.io Kaitai Struct] project, e.g. "ico" would result in a link to http://formats.kaitai.io/ico/index.html generated.<br />
;conforms to: '''(optional)''' The UTI of the parent format in the conformance hierarchy.<br />
;released: '''(optional)''' The date the format was publicly released.<br />
;image: '''(optional)''' Illustration to show in infobox.<br />
;caption: '''(optional)''' Caption for image<br />
<br />
===Potential Parameters===<br />
This is a list of parameters that could be included in this template.<br />
<br />
;mime & mime aliases: Split mimetypes into primary type and known aliases.<br />
;charset: For character encodings, the value of the charset parameter used to identify it in MIME headers<br />
;version: The version of the format, e.g. "1.4" for PDF 1.4<br />
;previous version: Link to page about the previous version of this format.<br />
;next version: Link to page about the next version of this format.<br />
;back compat: Whether this version is backwards compatible with the previous version.<br />
;wikipedia: Name of the Wikipedia page that describes this format, e.g. "JPEG 2000" will be rendered as [[Wikipedia:JPEG 2000|JPEG 2000]]<br />
;magic: A sequence of byte values that can be used to identify the file contents, usually located close to the start of the file.<br />
;container for: A list of formats this format can contain.<br />
;contained by: A list of formats that may contain this format.<br />
;extended from: Any formats this one was based upon.<br />
;extended to: Any formats that have been derived from this one.<br />
;spec: URL of the format specification.<br />
;spec availability: Type of availability the specification, e.g. commercial, free.<br />
;patent license: Unknown, Disputed, Encumbered, (F)RAND, Royalty-Free, Unencumbered.<br />
;compression: Types of compression. Whether Lossy, Lossless, or Both, and whether Optional or Always compressed. i.e. JPEG is Always Lossy.<br />
;endianness: Big-endian or Little-endian byte ordering.<br />
;developed by: Who developed the format.<br />
;maintained by: Who now maintains the format.<br />
;reference impl: Link to page about the reference implementation of this format, if any.<br />
;embeddable metadata: Kinds of metadata that can be embedded in this format.<br />
;tpm: Technical Protection Mechanisms supported by the format, e.g. encryption.<br />
;dependencies: External resources that files in this format may depend upon, e.g. fonts, or even hardware.<br />
;error resiliance: Is this format able to detect damage or recover from damage to the bitstream.<br />
;namespace: The namespace-uri that defines the file format if it is XML-based.<br />
<br />
==Examples==<br />
<br />
<br />
[[Category:File Formats| ]]<br />
</noinclude></div>GreyCat