ESC & / @ and ESC % / E
Posted: Fri May 06, 2011 2:58 pm
Regarding ESC & / @ and ESC % / E
1 - what do they do?
2 - how did you know - i.e. where should I have looked to know the answer
I'm having trouble understanding the way that CDs announce to the reader details about their directories. Specifically whether the directory is composed of 8 bit characters or 16 bit characters, and whether it contains 8.3 length file names or long file names.
I've poured through the ecma-119 spec at
http://www.ecma-international.org/publi ... ma-119.htm
and I still don't get it.
I understand this much:
If the CD uses something more than 8bit characters and 8.3 file names, it will have a type 2 Volume Descriptor. This volume descriptor will have in the field named 'Escape Sequences' (described in paragraph 8.5.6 of the spec), certain escape sequences. For example 0x25 0x2f 0x40.
Here is what the spec says about 8.5.6
This field shall specify one or more escape sequences according to ISO 2022 that designate the G0 graphic character set and, optionally, the G1 graphic character set to be used in an 8-bit environment according to ISO 2022 to interpret descriptor fields related to the Directory Hierarchy identified by this Volume Descriptor (see 7.4.4). If the G1 set is designated, it is implicitly invoked into columns 10 to 15 of the code table.
These escape sequences shall conform to ECMA-35, except that the ESCAPE character shall be omitted from each designating escape sequence when recorded in this field. The first or only escape sequence shall begin at the first byte of the field. Each successive escape sequence shall begin at the byte in the field immediately following the last byte of the preceding escape sequence. Any unused byte positions following the last sequence shall be set to (00).
If all the bytes of this field are set to (00), it shall mean that the set of a1-characters is identical with the set of a-characters and that the set of d1-characters is identical with the set of d-characters. In this case both sets are coded according to ECMA-6
At this point I'm lost. I assume that some where I can find out two things.
1) What do these escape sequence signify? For example, I suspect that the one I listed above specifies the Microsoft Joliet specification, and I dont know where to look to find the definition of Microsoft Joliet. But that is merely my guess. Where would I look to find out what is being specified by this sequence? I imagine the answer is “In spec xxx”. But I have not figured out what xxx is.
2) How are these escape sequences used? Do they appear anywhere other than in this one field in the volume descriptor? Is the idea that when printing the characters in the directory, I should use those escape sequences? What I am doing for the moment is merely ignoring the high byte of each 16 bit character.
Can someone here lead me out of this darkness? Or at tleast suggest a tutorial or other pointer to the info I need?
****
1 - what do they do?
2 - how did you know - i.e. where should I have looked to know the answer
I'm having trouble understanding the way that CDs announce to the reader details about their directories. Specifically whether the directory is composed of 8 bit characters or 16 bit characters, and whether it contains 8.3 length file names or long file names.
I've poured through the ecma-119 spec at
http://www.ecma-international.org/publi ... ma-119.htm
and I still don't get it.
I understand this much:
If the CD uses something more than 8bit characters and 8.3 file names, it will have a type 2 Volume Descriptor. This volume descriptor will have in the field named 'Escape Sequences' (described in paragraph 8.5.6 of the spec), certain escape sequences. For example 0x25 0x2f 0x40.
Here is what the spec says about 8.5.6
This field shall specify one or more escape sequences according to ISO 2022 that designate the G0 graphic character set and, optionally, the G1 graphic character set to be used in an 8-bit environment according to ISO 2022 to interpret descriptor fields related to the Directory Hierarchy identified by this Volume Descriptor (see 7.4.4). If the G1 set is designated, it is implicitly invoked into columns 10 to 15 of the code table.
These escape sequences shall conform to ECMA-35, except that the ESCAPE character shall be omitted from each designating escape sequence when recorded in this field. The first or only escape sequence shall begin at the first byte of the field. Each successive escape sequence shall begin at the byte in the field immediately following the last byte of the preceding escape sequence. Any unused byte positions following the last sequence shall be set to (00).
If all the bytes of this field are set to (00), it shall mean that the set of a1-characters is identical with the set of a-characters and that the set of d1-characters is identical with the set of d-characters. In this case both sets are coded according to ECMA-6
At this point I'm lost. I assume that some where I can find out two things.
1) What do these escape sequence signify? For example, I suspect that the one I listed above specifies the Microsoft Joliet specification, and I dont know where to look to find the definition of Microsoft Joliet. But that is merely my guess. Where would I look to find out what is being specified by this sequence? I imagine the answer is “In spec xxx”. But I have not figured out what xxx is.
2) How are these escape sequences used? Do they appear anywhere other than in this one field in the volume descriptor? Is the idea that when printing the characters in the directory, I should use those escape sequences? What I am doing for the moment is merely ignoring the high byte of each 16 bit character.
Can someone here lead me out of this darkness? Or at tleast suggest a tutorial or other pointer to the info I need?
****