static void percentEncodeByte(StringBuilder buf, int c) { buf.Append('%'); int hi = (c >> 4) & 0xf; int lo = c & 0xf; buf.Append((char)(hi < 10 ? '0'+hi : 'A'+(hi-10))); buf.Append((char)(lo < 10 ? '0'+lo : 'A'+(lo-10))); }