Rumah >Java >javaTutorial >Bagaimana dengan Cekap Menukar Array Byte kepada Heksadesimal di Jawa?

Bagaimana dengan Cekap Menukar Array Byte kepada Heksadesimal di Jawa?

Linda Hamilton
Linda Hamiltonasal
2024-11-29 02:49:09452semak imbas

How to Efficiently Convert a Byte Array to Hexadecimal in Java?

Menukar Tatasusunan Byte kepada Heksadesimal dalam Java

Seseorang boleh menghadapi situasi di mana mereka perlu menukar tatasusunan bait kepada nilai perenambelasan sepadannya. Java menyediakan kaedah mudah untuk mencapai penukaran ini dengan cekap.

Pelaksanaan Java

Pendekatan paling ringkas untuk menukar tatasusunan bait kepada perenambelasan ialah menggunakan kelas StringBuilder:

byte[] bytes = {-1, 0, 1, 2, 3 };
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
    sb.append(String.format("%02X ", b));
}
System.out.println(sb.toString());

Kod ini berulang melalui setiap bait dalam tatasusunan, menukarnya kepada rentetan heksadesimal dengan sifar pendahuluan ( X), dan tambahkannya pada pembina rentetan. Rentetan yang terhasil mengandungi nilai perenambelasan yang dipisahkan oleh ruang.

Tafsiran Alternatif

Sesetengah senario mungkin memerlukan penukaran tatasusunan rentetan nilai perpuluhan kepada rentetan heksadesimal. Ini boleh dicapai seperti berikut:

String[] arr = {"-1", "0", "10", "20" };
for (int i = 0; i < arr.length; i++) {
    arr[i] = String.format("%02x", Byte.parseByte(arr[i]));
}
System.out.println(java.util.Arrays.toString(arr));

Kod ini menukar setiap rentetan dalam tatasusunan kepada bait, kemudian menggunakan kaedah String.format untuk mencipta rentetan heksadesimal dengan sifar pendahuluan.

Pertimbangan

Perhatikan bahawa Integer.toHexString(int) juga boleh digunakan, tetapi berhati-hati dengan sambungan tanda apabila bekerja dengan nilai bait negatif. Sebagai alternatif, penyelesaian String.format lebih dipercayai dan fleksibel.

Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar Array Byte kepada Heksadesimal di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn