601 } else {
602 const UChar* c = view.characters16();
603 for (unsigned k = 0; k < view.length(); k++, c++) {
604 UChar u = c[0];
605 if (u >= doNotEscape.size())
606 builder.append("%u", hex(static_cast<uint8_t>(u >> 8), 2), hex(static_cast<uint8_t>(u), 2));
607 else if (doNotEscape.get(static_cast<LChar>(u)))
608 builder.append(*c);
609 else
610 builder.append('%', hex(u, 2));
611 }