title: Uri.encode() encodes wrong
body: <p>So, I need to encode my url. 
  For that I use <code>Uri.encode()</code>:   </p>
  
  <pre><code>private const val CHARS= "@#&amp;=*+-_.,:!?()/~'%"
  
  if (query != null) {
       query = Uri.encode(query, Chars)
  }
  </code></pre>
  
  <p>But, it encodes weirdly... <code>[</code> is <code>%255B</code>, when it should be  and <code>]</code> is <code>%255D</code>, when it should be <code>%5D</code></p>
  
  <p>Update: Turns out <code>Uri.encode()</code> works just fine. The problem is how I build the url. I do it by using <code>HttpUrl</code> and after I encode <code>query</code> I do <code>HttpUrl.build()</code> which encodes the url second time?</p>