Konverter Hex til ASCII i Java

1. Oversikt

I denne raske artikkelen skal vi gjøre noen enkle konverteringer mellom Hex og ASCII-formatene.

I et vanlig brukstilfelle kan Hex-formatet brukes til å skrive ned veldig store heltallverdier i kompakt form. For eksempel er AD45 kortere enn desimalekvivalenten 44357, og når verdiene øker, blir lengdeforskjellen enda mer uttalt.

2. ASCII til Hex

La oss nå se på alternativene våre for å konvertere ASCII-verdier til Hex:

  1. Konverter String til char array
  2. Kast hver røye til en int
  3. Bruk Integer.toHexString () å konvertere den til Hex

Her er et raskt eksempel på hvordan vi kan oppnå trinnene ovenfor:

privat statisk streng asciiToHex (streng asciiStr) {char [] tegn = asciiStr.toCharArray (); StringBuilder hex = new StringBuilder (); for (char ch: chars) {hex.append (Integer.toHexString ((int) ch)); } returner hex.toString (); }

3. Hex to ASCII Format

På samme måte, la oss gjøre en Hex til ASCII-formatkonvertering i tre trinn:

  1. Klipp Hex-verdien i 2 røye grupper
  2. Konverter den til base 16 Integer ved hjelp av Integer.parseInt (hex, 16) og kastet til røye
  3. Legg til alle tegn i en StringBuilder

La oss se på et eksempel på hvordan vi kan oppnå trinnene ovenfor:

private static String hexToAscii (String hexStr) {StringBuilder output = new StringBuilder (""); for (int i = 0; i <hexStr.length (); i + = 2) {String str = hexStr.substring (i, i + 2); output.append ((char) Integer.parseInt (str, 16)); } returner output.toString (); }

4. Test

Til slutt, ved å bruke disse metodene, la oss gjøre en rask test:

@Test offentlig statisk ugyldig nårHexToAscii () {String asciiString = "www.baeldung.com"; Streng hexEquivalent = "7777772e6261656c64756e672e636f6d"; assertEquals (asciiString, hexToAscii (hexEquivalent)); } @Test offentlig statisk ugyldig nårAsciiToHex () {String asciiString = "www.baeldung.com"; Streng hexEquivalent = "7777772e6261656c64756e672e636f6d"; assertEquals (hexEquivalent, asciiToHex (asciiString)); }

5. Konklusjon

For å konkludere så vi på de enkleste måtene å konvertere mellom ASCII og Hex ved hjelp av Java.

Implementeringen av alle disse eksemplene og kodebitene finner du i github-prosjektet - bare importer prosjektet og kjør som det er.


$config[zx-auto] not found$config[zx-overlay] not found