Tableau d'octets à la Chaîne et au retour.. des problèmes avec -127

Le suivant:

 scala> (new String(Array[Byte](1, 2, 3, -1, -2, -127))).getBytes
 res12: Array[Byte] = Array(1, 2, 3, -1, -2, 63)

pourquoi est--127 converti à 63? et comment puis-je le récupérer comme -127

[EDIT:] version de Java ci-dessous (pour montrer que ce n'est pas juste un "Scala problème")

c:\tmp>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 < 6; i++){
            System.out.println("b:"+b[i]+"; c:"+c[i]);
        }
    }
}
c:\tmp>javac Main.java
c:\tmp>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
InformationsquelleAutor Jus12 | 2011-03-09