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.
|SUB is used for substitutions in the ROOT chunks (and has a similar use in AGNT chunks).|
|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.|
|FS is used as the subdirectory separator character.|
|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.|
|RS as a suffix to a file name indicates the resource fork of a Macintosh file.|
Page content copyright 2003 by John M. Dlugosz. Home:http://www.dlugosz.com, email:mailto:firstname.lastname@example.org