On Wed, 11 Aug 2004, Roger Merchberger wrote:
Different systems interpret binary data differently,
especially if there is
human-readable code within the file. MS-DOS very likely could think the
file is binary, and the first hex 0x06 would terminate the file. However,
I don't think so. 06h is a PUSH ES command, which is valid in
programs/binary files. My .EXE and .COM files that use that
instruction do NOT terminate prematurely.
But your point is still valid, in that a 1Ah (^Z) byte
WILL cause many text processing utilities to terminate
processing of a text file in MS-DOS or CP/M.
Or -- how about transferring this file from MS-DOS
<=> Linux <=> MacOS <=>
BeOS ... will it (and if so, how will it) convert line ending chars, tabs &
other binary chars? A hex representation will reduce conversion problems
measurably - remember, this is supposed to be an "ultra-portable" format.
That's why any reading of a binary file, or an alien text file,
must fopen in "RAW" mode!
If we're already going to take this
"beyond" the spec, couldn't we
institute some RLE encoding as well?
Many folks seem to think that a .ZIP file is unreadable,
and impossible to write replacements readers, if the
now existing utilities aren't available.
(as opposed to files on a ZIP disk, where none of the
drives can be expected to remain working.)