Comparar string

4 respostas
P

Pessoal tenho uma rotina que le um porta serial e vai imprimindo linha a linha os dados recebidos.
Em algum momento eu tenho certeza que recebo o caracter p e a notação STX (02H em hexa), contudo quando eu tento comparar fazendo um equals(“p”) o ele não pega.
Alguém tem uma dica, pois isso tá muito estranho.

4 Respostas

T

Hum, “p\u0002” nunca vai ser “equals” a “p”.

Como eu tinha dito anteriormente, considere tudo como bytes e não caracteres. Digamos que você tenha o byte 0x70 (em ASCII é o “p”): então compare o valor numérico, por exemplo:

byte b = (byte) 0x70;
if (b == 'p') {
    .... // quando o tal byte for igual ao caracter 'p', ou seja, 0x70
}
P

Legal era isso que eu não tava conseguindo.

Agora mudando um pouco de assunto, vc disse que o caractere “p” é o byte 0x70 existe algum método ou comando no Java que eu passando o caractere ele me devolva o byte dele.
Assim como vc passou nesse exemplo?

guerios

petter:
Legal era isso que eu não tava conseguindo.

Agora mudando um pouco de assunto, vc disse que o caractere “p” é o byte 0x70 existe algum método ou comando no Java que eu passando o caractere ele me devolva o byte dele.
Assim como vc passou nesse exemplo?

Não sei um comando para ficar transformando de hexa em byte mas segue um site que tem a tabela ASCII para vc usar como referência.

www.asciitable.com

P

Valeu.

Criado 18 de agosto de 2006
Ultima resposta 21 de ago. de 2006
Respostas 4
Participantes 3