22 HAZİRAN 2009, PAZARTESİ
Nasıl sayısal değeri (Java) için bir bayt dizisi dönüştürmek için?
8 bayt bir dizi var ve karşılık gelen sayısal değeri dönüştürmek istiyorum.
örneğin
byte[] by = new byte[8]; // the byte array is stored in 'by'
// CONVERSION OPERATION
// return the numeric value
Yukarıda dönüştürme işlemi gerçekleştirecek bir yöntem istiyorum.
CEVAP
22 HAZİRAN 2009, PAZARTESİ
İlk bayt varsayarak en az önemli bayt:
long value = 0;
for (int i = 0; i < by.length; i )
{
value = ((long) by[i] & 0xffL) << (8 * i);
}
İlk ve en önemli bayt, sonra biraz daha farklı
long value = 0;
for (int i = 0; i < by.length; i )
{
value = (value << 8) (by[i] & 0xff);
}
Eğer 8'den fazla bayt varsa uzun BigInteger ile değiştirin.
Aaron sayesinde hatalarımı düzeltme için Digulla.
Bunu Paylaş:
Nasıl Java hex bir dize bir bayt dizis...
Java nasıl insan okunabilir biçime bay...
Bayt içine Java Dize dönüştürmek için ...
Nasıl Java UTF8 bayt dizileri için Diz...
Nasıl Java ile bir dosya için bayt diz...