title: about String and it's encoding. default .toString() returns ISO encoding
body: <p>I need some explanation about Java <code>String</code> and it's encoding. Due to some task, I got a <code>object</code> which I parsed to <code>String</code> by method <code>.toString()</code>. In fact it was encoded in <code>Cp1250</code> so my string has some wrong characters. So I decided to decode it. As far as I read many pages on the Internet, String is usually encoded with <code>UTF-8</code>. So I decided to get bytes from the strings encoded as <code>UTF-8</code>, and encode it to a <code>String</code> as <code>Cp1250</code>.</p>
  
  <p>The chunk of code:</p>
  
  <pre><code>    byte[] b = response.getBytes(StandardCharsets.UTF-8);
      String res = new String(b, "windows-1250");
  </code></pre>
  
  <p>It worked partially, because it shows the proper sign, but with an additional strange one. </p>
  
  <p>I tried it also with <code>StandardCharsets.UTF-16</code> but it was not working.
  Anyway it worked with <code>StandardCharsets.ISO_8859_1</code>. I don't understand why, if the <code>String</code> is encoded with <code>UTF</code> why i got a <code>String</code> from method <code>.toString()</code> encoded with <code>ISO_8859_1</code>?</p>
  
  <p>Any explanation?</p>