Selles programmis saate teada erinevaid tehnikaid Java baidimassiivi kuueteistkümnendarvuks teisendamiseks.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Java programmeerimise teemadest:
- Java massiivid
- Java klass ja objektid
Näide 1: teisendage baidimassiivi väärtuseks heks
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); ) ) )
Väljund
0A020F0B
Ülaltoodud programmis on meil baitide massiiv nimega bait. Baidimassiivi teisendamiseks heks-väärtuseks liigume massiivi iga baidi kaudu läbi ja kasutame funktsiooni String
's format()
.
Me kasutame selleks, %02X
et printida kaks kohta ( 02
) väärtusest Hexadecimal ( X
) ja salvestada see stringi st.
See on suure baidimassiivi teisendamise jaoks suhteliselt aeglasem protsess. Allpool näidatavate baitide abil saame täitmise kiirust dramaatiliselt suurendada.
Näide 2: teisendage baidimassiivi väärtuseks Hex, kasutades baiditoiminguid
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); ) )
Programmi väljund on sama mis näites 1 .