A algum tempo atrás aqui no forum foi-me passado que a notação STX (hexa 02) seria o equivalente a “u0002”, agora eu preciso em tempo de execução ler o caracter que vem como um simbolo que representa o \u0002 em Java e passar para STX e vice-versa pegar em determinada hora o STX e convertar em \u0002 no Java que resulta em um caracter em ASCII.
Certo isso me retorna 2 que é o valor hexa dessa notação. Mas eu tenho o caracter tipo uma carinha sorrindo (é só digitar ALT+2 no DOS) e quero buscar a conversão até chegar a STX e partir do STX até chegar a carinha sorrindo.
É isso que eu preciso fazer dentro do Java.
T
thingol
Ora, mas um char é um número de 2 bytes no Java. Se eu estivesse falando em C++ diria que um char do Java é um wchar_t do C++ (equivalente a um unsigned short). Ainda não entendi o que a representação visual (a tal caretinha) tem a ver com o dado representado (o número 2, ou o byte 2 = STX).
P
petter
É que é o seguinte:
Recebo da balança vários blocos de dados, e preciso pegar em especial dois blocos e ignorar os demais.
A sequencia de blocos interessantes seria:
Onde dados lidos recebe o stream da balança e o nodeBytes eu capturo o número de bytes de cada linha.
Mas dessa forma só imprime na minha tela o conteúdo de stx + “=p`”, quando que na verdade eu queria a impressão dos dois outros conteúdos.
Se vc puder dar uma força.
T
thingol
Você tem certeza que os 4 primeiros bytes são os que você me diz que são?
Eu prefiro trabalhar totalmente com arrays de bytes, para evitar alguns problemas que surgem quando se converte de / para strings.
Outra coisa: para evitar ficar "chutando", eu sempre que trabalho com arrays de bytes imprimo-os com um utilitário de "dump".
Aqui no fórum eu devo ter postado uma rotina cujo nome é printHex, e vou repeti-la aqui porque se perdeu no "Big GUJ Crash":
Agora tentei usar a função equal() para o Array só que não virou, pelo que vi na documentação ele retorna true para igualdade ou false para diferença como nunca usei essa função fiquei um pouco perdido sobre como tratar o retorno para pegar na Array o 0038 e o 25000000.