code: private static int decodePercent(final CharSequence s, final int length, final int i) {
      if (i + 2 >= length) {
        return INVALID;
      }
      final char n1 = s.charAt(i + 1);
      final char n2 = s.charAt(i + 2);
      return decodeNibbles(n1, n2);
    }
docs: Decode a percent encoded byte. E.g. "%3F" -> 63.