Adds the given 16-bit char to the token builder in encoded form. @param tb token builder @param cp char
(final TokenBuilder tb, final int cp)
| 330 | * @param cp char |
| 331 | */ |
| 332 | private static void addEsc(final TokenBuilder tb, final int cp) { |
| 333 | tb.addByte((byte) '_'); |
| 334 | final int a = cp >>> 12; |
| 335 | tb.addByte((byte) (a + (a > 9 ? 87 : '0'))); |
| 336 | final int b = cp >>> 8 & 0x0F; |
| 337 | tb.addByte((byte) (b + (b > 9 ? 87 : '0'))); |
| 338 | final int c = cp >>> 4 & 0x0F; |
| 339 | tb.addByte((byte) (c + (c > 9 ? 87 : '0'))); |
| 340 | final int d = cp & 0x0F; |
| 341 | tb.addByte((byte) (d + (d > 9 ? 87 : '0'))); |
| 342 | } |
| 343 | |
| 344 | /** |
| 345 | * Decodes an NCName to a token. |