title: Byte array to String and back.. issues with -127
body: <p>In the following:</p>
  
  <pre><code> scala&gt; (new String(Array[Byte](1, 2, 3, -1, -2, -127))).getBytes
   res12: Array[Byte] = Array(1, 2, 3, -1, -2, 63)
  </code></pre>
  
  <p>why is -127 converted to 63? and how do I get it back as -127</p>
  
  <p>[EDIT:] Java version below (to show that its not just a "Scala problem")</p>
  
  <pre><code>c:\tmp&gt;type Main.java
  public class Main {
      public static void main(String [] args) {
          byte [] b = {1, 2, 3, -1, -2, -127};
          byte [] c = new String(b).getBytes();
          for (int i = 0; i &lt; 6; i++){
              System.out.println("b:"+b[i]+"; c:"+c[i]);
          }
      }
  }
  c:\tmp&gt;javac Main.java
  c:\tmp&gt;java Main
  b:1; c:1
  b:2; c:2
  b:3; c:3
  b:-1; c:-1
  b:-2; c:-2
  b:-127; c:63
  </code></pre>