Olá a todos!
Estou fazendo um código que lê uma string (uma mensagem qualquer), pega os bytes dessa mensagem, e retorna a soma deles através de um foreach (“for ( : )” em JAVA).
Fiz exatamente esse códio em C# e o resultado saiu exatamente como eu queria, mas em JAVA sai errado, o resultado sai totalmente diferente, com númros negativos.
Código feito em C#:
[code]
private string byteMessage(string message)
{
byte[] bMsg = System.Text.ASCIIEncoding.ASCII.GetBytes(message);
byte checkBytes = 0;
foreach (byte aB in bMsg)
{
checkBytes += aB;
}
return checkBytes.ToString("D3");
}[/code]
Código feito em JAVA:
[code]private String byteMessage(String message)
{
byte[] byteMsg = message.getBytes();
byte chkBytes = 0;
for (byte ab : byteMsg)
{
chkBytes += ab;
}
return String.valueOf(chkBytes);
}[/code]
Alguem sabe a solução pra este problema? Se houver solução, gostaria que o JAVA só retornasse 3 dígitos, tem como?
Obrigado desde já!