Entry Names

The Entry Name of an INDX chunk uses a common platform-independant encoding scheme to represent special characters.

Classic ZIP files use a forward slash character (‘/’) for a directory separator, regardless of platform. This is not good, because the slash is a perfectly legal character in Macintosh file names. In general, any choice of “special” character can clash with some system. So, this Entry Name field uses characters in the C0 control code region as special markers, and provides a way to escape out any character, just in case.

The control characters are chosen because they have no graphic representation so are unlikely to be used in names, and they encode as one byte in UTF-8.

All characters in the range hex 00 through hex 1F inclusive (commonly called C0 Control Characters) are reserved. Several of them are defined in this specification, but the rest are reserved for future use. Any control character used in a Name must be escaped out.

Special Characters for Entry Names
hex 1A
SUB is used for substitutions in the ROOT chunks (and has a similar use in AGNT chunks).
hex 1B
ESC is used to escape out special meanings for characters. The following character is taken as a letter, devoid of special meaning. For example, to include an actual ESC character, use ESC ESC.
hex 1C
FS is used as the subdirectory separator character.
hex 1D
GS is used as a stream-name separator. The name of a file may be followed by a GS character and the name of a sub-file. For NTFS file system, this specifies alternate data streams.
hex 1E
RS as a suffix to a file name indicates the resource fork of a Macintosh file.

Valid HTML 4.01!

Page content copyright 2003 by John M. Dlugosz. Home:http://www.dlugosz.com, email:mailto:john@dlugosz.com