Konverter Hex til ASCII i Java

1. Oversigt

I denne hurtige artikel vil vi lave nogle enkle konverteringer mellem Hex- og ASCII-formaterne.

I en typisk brugssag kan Hex-formatet bruges til at nedskrive meget store heltalværdier i en kompakt form. For eksempel er AD45 kortere end dens decimalækvivalent 44357, og når værdierne stiger, bliver længdeforskellen endnu mere udtalt.

2. ASCII til Hex

Lad os nu se på vores muligheder for at konvertere ASCII-værdier til Hex:

  1. Konverter streng til char-array
  2. Støb hver char til en int
  3. Brug Integer.toHexString () at konvertere det til Hex

Her er et hurtigt eksempel på, hvordan vi kan opnå ovenstående trin:

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

3. Hex til ASCII-format

Lad os ligeledes lave en konvertering af Hex til ASCII-format i tre trin:

  1. Skær hex-værdien i 2 char grupper
  2. Konverter det til base 16 Heltal ved hjælp af Integer.parseInt (hex, 16) og kastet til char
  3. Tilføj alle tegn i en StringBuilder

Lad os se på et eksempel på, hvordan vi kan opnå ovenstående trin:

privat statisk 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)); } returnere output.toString (); }

4. Test

Endelig, ved hjælp af disse metoder, lad os lave en hurtig test:

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

5. Konklusion

Afslutningsvis så vi på de enkleste måder at konvertere mellem ASCII og Hex ved hjælp af Java.

Implementeringen af ​​alle disse eksempler og kodestykker kan findes i github-projektet - bare importer projektet og kør som det er.


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