Boa tarde pessoal,
estou desenvolvendo um software para fazer algumas leituras em uma impressora fiscal.
Bom o protocolo da impressora funciona com o envio de strings para porta serial. Até ai tranquilo =)
Bom o fato é que ao final de cada string eu preciso enviar um caracter de checksum. O checksum é obtido através da soma dos bytes de cada caracter da string divido (módulo) por 256. Até aqui tranquilo também.
public class NewClass {
public static void main (String[] args) {
char stx = '\u0002'; // Fixo
char etx = '\u0003'; // Fixo
char seq = '\u002a'; // Fixo
String dados = "15"; // Variável
int dadosSoma = 0;
for (int i = 0; i < dados.length(); i++) {
dadosSoma += (int) dados.charAt(i);
}
int checkSum = (((int) stx) + ((int) etx) + ((int) seq) + dadosSoma) % 256;
System.out.println(checkSum);
}
}
Meu checkSum nesse caso dá 149.
Bom aqui começam os meus problemas. Digitando ALT+0149 eu obtenho o caracter de checkSum que nesse caso é ? (bolinha preta caso não consigam visualizar). Em java isso seria representado pelo "unicode" \u2022
Bom minha dúvida é como sair do 149 e chegar no \u2022, ou seja como converter o 149 -> ? (bolinha preta) -> \u2022 ou se existir um meio de converter o 149 -> \u2022
Obrigado antecipadamente por qualquer dica ou ajuda!!
Giu
