Olá a todos
Estou lendo um array de bytes proveniente de um inputStrean de uma porta serial e transformando esse array em uma String.
Até ai vai bem, porém quando vou salvar a String em um arquivo texto, ou mesmo quando visualizo o seu conteúdo via debugger (watch), junto com as infomações corretas aparece um caracter estranho, que inclusive não da para copiar/colar: um “quadradinho” parecido com um marcador ou com um checkbox.
Alguém tem idéia do que esta acontecendo? Um outro detalhe que não consegui entender: se eu mandar a mesma String para o console via System.out.println() os dados saem de forma correta, sem o tal do “quadradinho” !!! :shock:
Segue a rotina, agradeço qualquer ajuda.
[code]byte[] inputBuffer = new byte[512];
char[] resultChars = new char[512];
while (inputStream.available() > 0) {
int numBytes = inputStream.read(inputBuffer);
}
// executa uma pequena substituição nos dados,
// recebidos, trocando alguns caracteres de controle
// por:
// * -> indica o início da String;
// # -> indica o fim da String;
// ^ -> indica espaços em branco;
for (int i=0; i<inputBuffer.length; i++) {
switch (inputBuffer[i]) {
case 02: resultChars[i] = ‘*’; break; //STX
case 03: resultChars[i] = ‘#’; break; //ETX
case 32: resultChars[i] = ‘^’; break; //espaço em branco
default: resultChars[i] = (char) inputBuffer[i];
}
}
String resultString = new String(resultChars);
System.out.println(ResultString);
[/code]