The following characters cannot be used anywhere in a bare Identifier:
Any codepoint with hexadecimal value 0x20 or below.
(snip)
while idenftifier-char is defined as follows:
identifier-char := unicode - linespace - [\/(){}<>;[]=,"]
linespace := newline | ws | single-line-comment
newline := See Table (All line-break white_space)
ws := bom | unicode-space | multi-line-comment
unicode-space := See Table (All White_Space unicode characters which are not `newline`)
unicode isn't defined in the grammar but presumably [\x00-\u{10FFFF}]. [\x00-\x08\x0E-\x1F] are not White_Space nor in the table, so identifier-char matches them.
The spec reads:
while
idenftifier-char
is defined as follows:unicode
isn't defined in the grammar but presumably[\x00-\u{10FFFF}]
.[\x00-\x08\x0E-\x1F]
are not White_Space nor in the table, soidentifier-char
matches them.