吃掉 U+0023 NUMBER SIGN。
再下來的動作依 U+0023 NUMBER SIGN 後面的字符而有所不同:U+0078 LATIN SMALL LETTER XU+0058 LATIN CAPITAL LETTER X吃掉 X。
遵守下面步驟,字符範圍是 U+0030 DIGIT ZERO(0)到 U+0039 DIGIT NINE(9)、U+0061 LATIN SMALL LETTER A 到 U+0066 LATIN SMALL LETTER F、U+0041 LATIN CAPITAL LETTER A 到 U+0046 LATIN CAPITAL LETTER F(也就是,0-9、A-F、a-f)。
到需要解讀數字的時候,以十六進位解讀。其他字符遵守下面步驟,字符範圍是從 U+0030 DIGIT ZERO (0) 到 U+0039 DIGIT NINE (9)。
到需要解讀數字的時候,以十進位解讀。
吃掉批配上面描述的字符範圍的所有字符。
若在範圍裡面的字符不存在,不吃掉任何字符(並吐出 U+0023 NUMBER SIGN 字符與 X 字符)。這是個解析錯誤,回傳空值。
否則,若下一個字符是 U+003B SEMICOLON,則吃掉該字符。若不是,則這是個解析錯誤。
若前面批配的字符數量是一個或更多,則將這些字符組成的字串以數字解讀(用十六進位或是十進位)。
若該數字是以下表格第一欄裡的數字其一,則這是個解析錯誤。尋找有該數字的那一行並回傳該行第二欄給出的 Unicode 字符的字符 token數字Unicode 字符
0x00U+FFFDREPLACEMENT CHARACTER
0x0DU+000DCARRIAGE RETURN (CR)
0x80U+20ACEURO SIGN (€)
0x81U+0081
0x82U+201ASINGLE LOW-9 QUOTATION MARK (‚)
0x83U+0192LATIN SMALL LETTER F WITH HOOK (ƒ)
0x84U+201EDOUBLE LOW-9 QUOTATION MARK („)
0x85U+2026HORIZONTAL ELLIPSIS (…)
0x86U+2020DAGGER (†)
0x87U+2021DOUBLE DAGGER (‡)
0x88U+02C6MODIFIER LETTER CIRCUMFLEX ACCENT (ˆ)
0x89U+2030PER MILLE SIGN (‰)
0x8AU+0160LATIN CAPITAL LETTER S WITH CARON (Š)
0x8BU+2039SINGLE LEFT-POINTING ANGLE QUOTATION MARK (‹)
0x8CU+0152LATIN CAPITAL LIGATURE OE (Œ)
0x8DU+008D
0x8EU+017DLATIN CAPITAL LETTER Z WITH CARON (Ž)
0x8FU+008F
0x90U+0090
0x91U+2018LEFT SINGLE QUOTATION MARK (‘)
0x92U+2019RIGHT SINGLE QUOTATION MARK (’)
0x93U+201CLEFT DOUBLE QUOTATION MARK (“)
0x94U+201DRIGHT DOUBLE QUOTATION MARK (”)
0x95U+2022BULLET (•)
0x96U+2013EN DASH (–)
0x97U+2014EM DASH (—)
0x98U+02DCSMALL TILDE (˜)
0x99U+2122TRADE MARK SIGN (™)
0x9AU+0161LATIN SMALL LETTER S WITH CARON (š)
0x9BU+203ASINGLE RIGHT-POINTING ANGLE QUOTATION MARK (›)
0x9CU+0153LATIN SMALL LIGATURE OE (œ)
0x9DU+009D
0x9EU+017ELATIN SMALL LETTER Z WITH CARON (ž)
0x9FU+0178LATIN CAPITAL LETTER Y WITH DIAERESIS (Ÿ)
否則,若數字在 0xD800 到 0xDFFF 的範圍裡,或數字大於 0x10FFFF,則這是個解析錯誤。回傳 U+FFFD REPLACEMENT CHARACTER。
否則,回傳代碼點是該數字的 Unicode 字符的字符 token。若數字在 0x0001 到 0x0008、0x000E 到 0x001F、0x007F 到 0x009F、0xFDD0 到 0xFDEF 的範圍裡,或數字是 0x000B、0xFFFE、0xFFFF、0x1FFFE、0x1FFFF、0x2FFFE、0x2FFFF、0x3FFFE、0x3FFFF、0x4FFFE、0x4FFFF、0x5FFFE、0x5FFFF、0x6FFFE、0x6FFFF、0x7FFFE、0x7FFFF、0x8FFFE、0x8FFFF、0x9FFFE、0x9FFFF、0xAFFFE、0xAFFFF、0xBFFFE、0xBFFFF、0xCFFFE、0xCFFFF、0xDFFFE、0xDFFFF、0xEFFFE、0xEFFFF、0xFFFFE、0xFFFFF、0x10FFFE 或 0x10FFFF 其中之一,則這是個解析錯誤。