Pretvori Hex u ASCII na Javi
1. Pregled
U ovom ćemo brzom članku obaviti nekoliko jednostavnih pretvorbi između Hex i ASCII formata.
U tipičnom slučaju upotrebe, Hex format se može koristiti za zapisivanje vrlo velikih cijelih vrijednosti u kompaktnom obliku. Na primjer, AD45 je kraći od decimalnog ekvivalenta 44357, a kako se vrijednosti povećavaju, razlika u duljini postaje još izraženija.
2. ASCII u heks
Pogledajmo sada naše mogućnosti pretvorbe ASCII vrijednosti u hex:
- Pretvori niz u niz znakova
- Uloge svakog ugljen do an int
- Koristiti Integer.toHexString () pretvoriti u heksadecimalni
Evo kratkog primjera kako možemo postići gore navedene korake:
privatni statički niz asciiToHex (niz asciiStr) {char [] chars = asciiStr.toCharArray (); StringBuilder hex = novi StringBuilder (); za (char ch: znakovi) {hex.append (Integer.toHexString ((int) ch)); } return hex.toString (); }
3. Šesnaestougaoni u ASCII format
Slično tome, napravimo pretvorbu Hex u ASCII format u tri koraka:
- Izrežite Hex vrijednost u 2 ugljen skupine
- Pretvorite ga u bazni 16 Integer pomoću Integer.parseInt (hex, 16) i bacili na ugljen
- Dodajte sve znakove u a StringBuilder
Pogledajmo primjer kako možemo postići gore navedene korake:
privatni statički niz hexToAscii (niz hexStr) {StringBuilder izlaz = novi StringBuilder (""); for (int i = 0; i <hexStr.length (); i + = 2) {String str = hexStr.substring (i, i + 2); output.append ((char) Integer.parseInt (str, 16)); } vrati izlaz.toString (); }
4. Test
Na kraju, pomoću ovih metoda, napravimo brzi test:
@Test javna statička praznina whenHexToAscii () {String asciiString = "www.baeldung.com"; Niz hexEquivalent = "7777772e6261656c64756e672e636f6d"; assertEquals (asciiString, hexToAscii (hexEquivalent)); } @Test javna statička praznina whenAsciiToHex () {String asciiString = "www.baeldung.com"; Niz hexEquivalent = "7777772e6261656c64756e672e636f6d"; assertEquals (hexEquivalent, asciiToHex (asciiString)); }
5. Zaključak
Da zaključimo, pogledali smo najjednostavnije načine pretvorbe između ASCII i Hex pomoću Java.
Provedbu svih ovih primjera i isječaka koda možete pronaći u projektu github - jednostavno uvezite projekt i pokrenite kakav jest.