Konvertálja a Hex-et ASCII-ba Java-ban

1. Áttekintés

Ebben a rövid cikkben néhány egyszerű konverziót fogunk végezni a Hex és az ASCII formátumok között.

Egy tipikus felhasználási esetben a Hex formátum használható nagyon nagy egész értékek kompakt formában történő felírására. Például az AD45 rövidebb, mint a 44357 tizedesértéke, és az értékek növekedésével a hosszkülönbség még hangsúlyosabbá válik.

2. ASCII - Hex

Most nézzük meg az ASCII-értékek hexá alakításának lehetőségeit:

  1. A String konvertálása char tömbre
  2. Cast mindegyik char egy int
  3. Használat Integer.toHexString () hogy Hex-be konvertálja

Íme egy gyors példa arra, hogyan érhetjük el a fenti lépéseket:

privát statikus String asciiToHex (String asciiStr) {char [] karakterek = asciiStr.toCharArray (); StringBuilder hex = új StringBuilder (); mert (char ch: karakterek) {hex.append (Integer.toHexString ((int) ch)); } return hex.toString (); }

3. Hex to ASCII formátum

Hasonlóképpen végezzünk Hex-ASCII formátumú átalakítást három lépésben:

  1. Vágja a Hex értéket 2-be char csoportok
  2. Konvertálja a 16 egész számra a következővel: Integer.parseInt (hex, 16) és leadni char
  3. Csatolja az összes karaktert a StringBuilder

Nézzünk meg egy példát, hogyan érhetjük el a fenti lépéseket:

privát statikus String hexToAscii (String hexStr) {StringBuilder kimenet = new StringBuilder (""); for (int i = 0; i <hexStr.hossz (); i + = 2) {String str = hexStr.substring (i, i + 2); output.append ((char) Integer.parseInt (str, 16)); } return output.toString (); }

4. Teszt

Végül a következő módszerek segítségével végezzünk egy gyors tesztet:

@Test public static void whenHexToAscii () {String asciiString = "www.baeldung.com"; String hexEquivalent = "7777772e6261656c64756e672e636f6d"; assertEquals (asciiString, hexToAscii (hexEquivalent)); } @Test public static void whenAsciiToHex () {String asciiString = "www.baeldung.com"; String hexEquivalent = "7777772e6261656c64756e672e636f6d"; assertEquals (hexEquivalent, asciiToHex (asciiString)); }

5. Következtetés

Befejezésül megvizsgáltuk az ASCII és a Hex közötti konvertálás legegyszerűbb módját a Java használatával.

Mindezen példák és kódrészletek megvalósítása megtalálható a github projektben - egyszerűen importálja a projektet, és futtassa úgy, ahogy van.