Problema com byte array e StringBuilder

Bom dia,

productContent = new StringBuilder(new String(productByteArray));
byte[] teste = productContent.toString().getBytes();

meu byte[] productByteArray esta com o valor
[80, 98, 97, -105, 97, -105, -115, 111]
após fazer a instrução acima, o byte[] de retorno(teste) fica com o valor
[80, 98, 97, -105, 97, -105, 63, 111]

esse problema esta me deixando de cabelos brancos, porque alguns bytes tem o valor alterado ??

obrigado