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:
- A String konvertálása char tömbre
- Cast mindegyik char egy int
- 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:
- Vágja a Hex értéket 2-be char csoportok
- Konvertálja a 16 egész számra a következővel: Integer.parseInt (hex, 16) és leadni char
- 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.