Πρόγραμμα Java για μετατροπή συστοιχίας Byte σε δεκαεξαδικό

Σε αυτό το πρόγραμμα, θα μάθετε διαφορετικές τεχνικές για να μετατρέψετε έναν πίνακα byte σε δεκαεξαδικό στην Java.

Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:

  • Πίνακες Java
  • Τάξη και αντικείμενα Java

Παράδειγμα 1: Μετατροπή συστοιχίας Byte σε τιμή Hex

 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); ) ) )

Παραγωγή

 0A020F0B

Στο παραπάνω πρόγραμμα, έχουμε έναν πίνακα byte που ονομάζεται bytes. Για τη μετατροπή πίνακα byte σε μια τιμή hex, εμείς βρόχο μέσα από κάθε byte στη συστοιχία και χρήση String«s format().

Χρησιμοποιούμε %02Xγια να εκτυπώσουμε δύο θέσεις ( 02) της δεκαεξαδικής Xτιμής ( ) και να την αποθηκεύσουμε στη συμβολοσειρά st.

Αυτή είναι μια σχετικά πιο αργή διαδικασία για μετατροπή συστοιχιών μεγάλου byte. Μπορούμε να αυξήσουμε δραματικά την ταχύτητα εκτέλεσης χρησιμοποιώντας λειτουργίες byte που φαίνονται παρακάτω.

Παράδειγμα 2: Μετατροπή συστοιχίας Byte σε τιμή Hex χρησιμοποιώντας λειτουργίες byte

 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); ) )

Η έξοδος του προγράμματος είναι ίδια με το Παράδειγμα 1 .

ενδιαφέροντα άρθρα...