in reply to How to flip little-endian TIFF to big-endian?
According to my /usr/share/magic, the headers differ for the two, "II\x2A\x00" for little-endian (Intel), and "MM\x00\x2A" for big-endian (Motorola).
Update: You have more against you than the header. TIFF files are tagged data, and part of the tag should not be reordered. Will follow up with specifics.
Update: The TIFF header looks like this C struct,
'offset' is the offset to the first tagged image library in the file. The tag is a structure like this:typedef struct { uint16 numbertype; uint16 version; uint32 offset; } TIFFHEAD;
Tags can nest. The data they contain is a mixture of types. A straightforward 32-bit conversion like you propose will clearly scramble the file. You need to get information about TIFF tag types and recursively unpack the files according to each tag's content.typedef struct { uint16 tag; uint16 type; uint32 length; uint32 offset; } TIFFTAG;
After Compline,
Zaxo
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: How to flip little-endian TIFF to big-endian?
by Anonymous Monk on Dec 20, 2003 at 00:30 UTC |