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
Lepaskan: 2024-11-29 02:49:09
asal
456 orang telah melayarinya

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());
Salin selepas log masuk

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));
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan