Conversione di array di byte in String (Java)

Sto scrivendo un’applicazione web nell’app Google Engine. Permette alle persone di modificare fondamentalmente il codice html che viene memorizzato come file .html nel blobstore.

Sto usando fetchData per restituire un byte[] di tutti i caratteri nel file. Sto provando a stampare su un codice HTML in modo che l’utente possa modificare il codice html. Tutto funziona alla grande!

Ecco il mio unico problema ora:

L’array di byte presenta alcuni problemi durante la conversione in una stringa. Citazioni intelligenti e un paio di personaggi stanno uscendo con un aspetto funky. (? o simboli giapponesi ecc.) In particolare sono diversi i byte che sto vedendo che hanno valori negativi che stanno causando il problema.

Le virgolette intelligenti tornano come -108 e -109 nell’array di byte. Perché questo e come posso decodificare i byte negativi per mostrare la corretta codifica dei caratteri?