case 'u': b.append((char)( (TypeUtil.convertHexDigit((byte)s.charAt(i++))<<24)+ (TypeUtil.convertHexDigit((byte)s.charAt(i++))<<16)+ (TypeUtil.convertHexDigit((byte)s.charAt(i++))<<8)+ (TypeUtil.convertHexDigit((byte)s.charAt(i++)))
if (dh<0||dl<0) break; buffer.append((char)((TypeUtil.convertHexDigit((byte)dh)<<4) + TypeUtil.convertHexDigit((byte)dl))); break; default:
break; case 'u': char uc=(char)((TypeUtil.convertHexDigit((byte)source.next())<<12)+ (TypeUtil.convertHexDigit((byte)source.next())<<8)+ (TypeUtil.convertHexDigit((byte)source.next())<<4)+ (TypeUtil.convertHexDigit((byte)source.next()))); scratch[i++]=uc; break; break; case 'u': char uc=(char)((TypeUtil.convertHexDigit((byte)source.next())<<12)+ (TypeUtil.convertHexDigit((byte)source.next())<<8)+ (TypeUtil.convertHexDigit((byte)source.next())<<4)+ (TypeUtil.convertHexDigit((byte)source.next()))); b.append(uc); break;
if (dh<0||dl<0) break; buffer.append((byte)((TypeUtil.convertHexDigit((byte)dh)<<4) + TypeUtil.convertHexDigit((byte)dl))); break; default:
if (digits==2) digit=TypeUtil.convertHexDigit((byte)c); digits=1; output.write((digit<<4) + TypeUtil.convertHexDigit((byte)c)); digits=0;
buffer.append((byte)((TypeUtil.convertHexDigit(raw[++i])<<4) + TypeUtil.convertHexDigit(raw[++i]))); break; default: