Transformar byte em letra

4 respostas
X

Bom galera eu queria saber como eu faço pra pegar tipo o byte [color=green]AF[/color] e tranformar na letra [color=green]C[/color].
É só isso ficou meio curto, mas acho que deu pra entender.
Eu nao quero tipo converter pra um valor já pronto como ASCII, quero tipo criar meu proprio valor.

4 Respostas

lucasportela

A tabela ASCII é um código padrão. Você quer criar seu próprio código? Então cria uma HashMap da vida onde a chave “AF” contém o valor “C” e assim por diante com seus códigos. Bom, é apenas uma sugestão.

E

xChupaKabrax:
Bom galera eu queria saber como eu faço pra pegar tipo o byte [color=green]AF[/color] e tranformar na letra [color=green]C[/color].
É só isso ficou meio curto, mas acho que deu pra entender.
Eu nao quero tipo converter pra um valor já pronto como ASCII, quero tipo criar meu proprio valor.

Você quer fazer uma “criptografia dos pobres”?

Crie um array de char com 256 posições, contendo os caracteres que correspondem aos bytes. Por exemplo, para a posição 0xAF desse array, preencha com o valor ‘C’.

Essa é a maneira mais rápida de fazer essa conversão.

Não se esqueça que índices de arrays são int e ainda positivos (não podemos ter índices negativos), e para converter um byte para um int de forma que ele sempre fique positivo, você tem de fazer o seguinte:

byte b = 0xAF;
int indice = (int) (b & 0xFF);

OK?

X

entanglement:
xChupaKabrax:
Bom galera eu queria saber como eu faço pra pegar tipo o byte [color=green]AF[/color] e tranformar na letra [color=green]C[/color].
É só isso ficou meio curto, mas acho que deu pra entender.
Eu nao quero tipo converter pra um valor já pronto como ASCII, quero tipo criar meu proprio valor.

Você quer fazer uma “criptografia dos pobres”?

Crie um array de char com 256 posições, contendo os caracteres que correspondem aos bytes. Por exemplo, para a posição 0xAF desse array, preencha com o valor ‘C’.

Essa é a maneira mais rápida de fazer essa conversão.

Não se esqueça que índices de arrays são int e ainda positivos (não podemos ter índices negativos), e para converter um byte para um int de forma que ele sempre fique positivo, você tem de fazer o seguinte:

byte b = 0xAF;
int indice = (int) (b & 0xFF);

OK?

Cara sou iniciante em java, você pode me dizer como faço isto?

X
Desculpe pelo post duplo, é porque nao da de editar o post neste forum.
private void babrirActionPerformed(java.awt.event.ActionEvent evt) {                                       
            int returnVal = seletordearquivos.showOpenDialog(this);
    if (returnVal == JFileChooser.APPROVE_OPTION) {
        File file = seletordearquivos.getSelectedFile();
        
        try {
            
            
        FileInputStream fReader = new FileInputStream(file);  
        BufferedInputStream buffReader = new BufferedInputStream(fReader);  
        DataInputStream data = new DataInputStream(buffReader);
        //byte[] numhex = new byte[123456];
        data.read(numhex);  
        String tabela = new String(numhex).substring(123, 456);        
        String tabela2 = new String(numhex).substring(321, 654);
        //String substituir = tabela.replace('ÿ', '\n');
        //String substituir2 = tabela2.replace('ÿ', '\n');
        atnomes.setText(tabela);
        atdescricoes.setText(tabela2);
        } catch (IOException ex) {
        atnomes.setText("Ocorreu algum erro!");
        atdescricoes.setText("Ocorreu algum erro!");
        
        }
    }
    }
Olha meu codigo, talvez ajude.
Criado 13 de fevereiro de 2013
Ultima resposta 18 de fev. de 2013
Respostas 4
Participantes 3