Rumah >Java >javaTutorial >Bagaimana dengan Cekap Menukar Array Byte kepada Heksadesimal di Jawa?
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.
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.
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.
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!