Convert Hex to ASCII in Java – 在Java中把十六进制转换为ASCII

最后修改: 2016年 11月 4日


1. Overview


In this quick article, we’re going to do some simple conversions between the Hex and ASCII formats.


In a typical use case, the Hex format can be used to write down very large integer values in a compact form. For example, AD45 is shorter than its decimal equivalent 44357 and as values increase the difference in length becomes even more pronounced.


2. ASCII to Hex


Now, let’s look at our options to convert ASCII values to Hex:


  1. Convert String to char array
  2. Cast each char to an int
  3. Use Integer.toHexString() to convert it to Hex

Here’s a quick example how we can achieve above steps:


private static String asciiToHex(String asciiStr) {
    char[] chars = asciiStr.toCharArray();
    StringBuilder hex = new StringBuilder();
    for (char ch : chars) {
        hex.append(Integer.toHexString((int) ch));

    return hex.toString();

3. Hex to ASCII Format


Similarly, let’s do a Hex to ASCII format conversion in three steps :


  1. Cut the Hex value in 2 char groups
  2. Convert it to base 16 Integer using Integer.parseInt(hex, 16) and cast to char
  3. Append all chars in a StringBuilder

Let’s look at an example how we can achieve above steps:


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));
    return output.toString();

4. Test

Finally, using these methods, let’s do a quick test :


public static void whenHexToAscii() {
    String asciiString = "";
    String hexEquivalent = 

    assertEquals(asciiString, hexToAscii(hexEquivalent));

public static void whenAsciiToHex() {
    String asciiString = "";
    String hexEquivalent = 

    assertEquals(hexEquivalent, asciiToHex(asciiString));

5. Conclusion


To conclude, we looked at the simplest ways of converting between ASCII and Hex using Java.


The implementation of all these examples and code snippets can be found in the github project – simply import the project and run as it is.