Conversao de int para char

3 respostas
R

Olá pessoal.
Não sei se aqui seria o local correto para postar essa dúvida, mas caso não seja, peço ao pessoal da moderação que a mova para o lugar apropriado.
Meu problema é o seguinte, estou trabalhando com uma impressora térmica da epson e estou com um problema quando vou imprimir aquele código de barras 2D ( PDF 417 ).
Os comando da impressora são passados como int porem fazendo um cast para char, exemplo :

int len = str.length();
		int pl = ((len+3) % 256);
		int ph = ((len+3) / 256);
		t.append((char)29);
		t.append((char)40);
		t.append((char)107);
		t.append((char)pl);
		t.append((char)ph);
		t.append((char)48);
		t.append((char)80);
		t.append((char)48);
		t.append(str);

O meu problema aqui é quando tenho que passar o valor da variável pl, se o valor for entre 128 e 160, ele manda 1 valor totalmente errado.
Eu fiz um for :

for(int k = 0; k <= 256; k++)
			System.out.println(k + " - " + (char)k);

E quando ele imprime os valores entre 128 e 159, ele imprime o caracter “?” … A pergunta é, como eu faço para pegar o caracter correto ?
Pesquisei no forum pra ver se encotrava algo parecido com isso, mas não encontrei, vi alguns topicos relacionados, mas nenhum que tenha ajudado.

Agradeço qualquer ajuda.

Grato

Ronaldo.

3 Respostas

Djonatah

Bom, eu nao estou certo disso.

Mas a conversao resulta em um character ASC II. Estive dando uma olhada e vi que as characteres standard sao de 1 ateh 127…Pode estar ai o problema.

de uma olhada aqui >> http://www.asciitable.com/

Em resumo, nao cnosegui resolver o problema o

Abraco
<><

robinsonbsilva

Tipo caracter

Uma variável do tipo char armazena um caractere Unicode. Um caractere Unicode é um caractere de 8 bits, sendo que de 0 a 225 correspondem aos caracteres do código ASCII (a tabela ASCII é uma tabela padronizada internacionalmente de associações entre caractere e a sua representação numérica no computador).

Veja a tabela Ascii e o valor respectivo para o seu “bendito caracter”

mateusprado

http://privacy.cs.cmu.edu/courses/java2/lectures/lecture16/sld075.htm

Criado 29 de janeiro de 2009
Ultima resposta 29 de jan. de 2009
Respostas 3
Participantes 4