Olá amigos,
Estou com o pequeno problema.
Possuia um código em pascal que realizava uma soma circular entre dois bytes. Limites 1 e 255.
Por exemplo:
250 + 10 = 5
255 + 5 = 5
255 + 10 = 10
Utilizava como simples criptografia. Portei para o Java.
O problema é que com um arquivo de texto, utilizando char, funciona normalmente, mas com arquivos binários não fica legal.
Pude reparar através de alguns testes o seguinte comportamento:
- Jogo o conteúdo de um arquivo de texto em um byte[]
ao passar o byte[] para o metodo juntamente com outro byte[] que é a chave, o texto bagunça os acentos.
Na tabela ascii, por exemplo, o ‘á’ é 255.
Mas no java acontece isso:
(byte) ‘á’ = -31
(char) -31 = ‘£’
Tentei delimitar a soma entre 1 e 127, mas alguns caracteres, quando colocados em um byte[], ficam negativos.