Bu programda, Java'da bayt dizisini onaltılıya dönüştürmek için farklı teknikler öğreneceksiniz.
Bu örneği anlamak için, aşağıdaki Java programlama konuları hakkında bilgi sahibi olmalısınız:
- Java Dizileri
- Java Sınıfı ve Nesneleri
Örnek 1: Bayt Dizisini Hex değerine dönüştürme
public class ByteHex ( public static void main(String() args) ( byte() bytes = (10, 2, 15, 11); for (byte b : bytes) ( String st = String.format("%02X", b); System.out.print(st); ) ) )
Çıktı
0A020F0B
Yukarıdaki programda bayt adında bir bayt dizimiz var. Bayt dizisini onaltılık bir değere dönüştürmek için, dizideki her bayt arasında döngü yaparız ve String
's kullanırız format()
.
Biz kullanmak %02X
iki yerde (yazdırmak için 02
Onaltılık (arasında) X
) değeri ve dize st içinde saklayın.
Bu, büyük bayt dizisi dönüşümü için nispeten yavaş bir işlemdir. Aşağıda gösterilen bayt işlemlerini kullanarak yürütme hızını önemli ölçüde artırabiliriz.
Örnek 2: Bayt işlemlerini kullanarak Bayt Dizisini Hex değerine dönüştürme
public class ByteHex ( private final static char() hexArray = "0123456789ABCDEF".toCharArray(); public static String bytesToHex(byte() bytes) ( char() hexChars = new char(bytes.length * 2); for ( int j = 0; j >> 4); hexChars(j * 2 + 1) = hexArray(v & 0x0F); ) return new String(hexChars); ) public static void main(String() args) ( byte() bytes = (10, 2, 15, 11); String s = bytesToHex(bytes); System.out.println(s); ) )
Programın çıktısı Örnek 1 ile aynıdır .