Convert Hexadecimal value String to ASCII value String
Last Updated :
08 Feb, 2024
Given the Hexadecimal value string as input, the task is to convert the given hexadecimal value string into its corresponding ASCII format string.
Examples:
Input: 6765656b73
Output: geeks
Input: 6176656e67657273
Output: avengers
The “Hexadecimal” or simply “Hex” numbering system uses the Base of 16 system. Being a Base-16 system, there are 16 possible digit symbols. The hexadecimal number uses 16 symbols {0, 1, 2, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} to represent all numbers. Here, (A, B, C, D, E, F) represents (10, 11, 12, 13, 14, 15).
ASCII stands for American Standard Code for Information Interchange. ASCII is a standard that assigns letters, numbers, and other characters within the 256 slots available in the 8-bit code. E.g the lower case "h" character (Char) has a decimal value of 104, which is "01101000" in binary and “68” in hexadecimal.
Algorithm:
- Initialize final ascii string as empty.
- Extract first two characters from the hexadecimal string taken as input.
- Convert it into base 16 integer.
- Cast this integer to character which is ASCII equivalent of 2 char hex.
- Add this character to final string.
- Extract next two characters from hexadecimal string and go to step 3.
- Follow these steps to extract all characters from hexadecimal string.

Implementation:
C++
// C++ program to convert hexadecimal
// string to ASCII format string
#include <bits/stdc++.h>
using namespace std;
string hexToASCII(string hex)
{
// initialize the ASCII code string as empty.
string ascii = "";
for (size_t i = 0; i < hex.length(); i += 2)
{
// extract two characters from hex string
string part = hex.substr(i, 2);
// change it into base 16 and
// typecast as the character
char ch = stoul(part, nullptr, 16);
// add this char to final ASCII string
ascii += ch;
}
return ascii;
}
// Driver Code
int main()
{
// print the ASCII string.
cout << hexToASCII("6765656b73") << endl;
return 0;
}
// This code is contributed by
// sanjeev2552
Java
// Java program to convert hexadecimal
// string to ASCII format string
import java.util.Scanner;
public class HexadecimalToASCII {
public static String hexToASCII(String hex)
{
// initialize the ASCII code string as empty.
String ascii = "";
for (int i = 0; i < hex.length(); i += 2) {
// extract two characters from hex string
String part = hex.substring(i, i + 2);
// change it into base 16 and typecast as the character
char ch = (char)Integer.parseInt(part, 16);
// add this char to final ASCII string
ascii = ascii + ch;
}
return ascii;
}
public static void main(String[] args)
{
// print the ASCII string.
System.out.println(hexToASCII("6765656b73"));
}
}
Python3
# Python3 program to convert hexadecimal
# string to ASCII format string
def hexToASCII(hexx):
# initialize the ASCII code string as empty.
ascii = ""
for i in range(0, len(hexx), 2):
# extract two characters from hex string
part = hexx[i : i + 2]
# change it into base 16 and
# typecast as the character
ch = chr(int(part, 16))
# add this char to final ASCII string
ascii += ch
return ascii
# Driver Code
if __name__ == "__main__":
# print the ASCII string.
print(hexToASCII("6765656b73"))
# This code is contributed by
# sanjeev2552
C#
// C# program to convert hexadecimal
// string to ASCII format string
using System;
class GFG
{
public static String hexToASCII(String hex)
{
// initialize the ASCII code string as empty.
String ascii = "";
for (int i = 0; i < hex.Length; i += 2)
{
// extract two characters from hex string
String part = hex.Substring(i, 2);
// change it into base 16 and
// typecast as the character
char ch = (char)Convert.ToInt32(part, 16);;
// add this char to final ASCII string
ascii = ascii + ch;
}
return ascii;
}
// Driver Code
public static void Main(String[] args)
{
// print the ASCII string.
Console.WriteLine(hexToASCII("6765656b73"));
}
}
// This code is contributed by PrinciRaj1992
JavaScript
<script>
// JavaScript program to convert hexadecimal
// string to ASCII format string
function hexToASCII(hex) {
// initialize the ASCII code string as empty.
var ascii = "";
for (var i = 0; i < hex.length; i += 2) {
// extract two characters from hex string
var part = hex.substring(i, i + 2);
// change it into base 16 and
// typecast as the character
var ch = String.fromCharCode(parseInt(part, 16));
// add this char to final ASCII string
ascii = ascii + ch;
}
return ascii;
}
// Driver Code
// print the ASCII string.
document.write(hexToASCII("6765656b73"));
</script>
Time complexity: O(N), where N is the length of the given string
Auxiliary space: O(N)
Approach 2: Using Bitwise Operations:
This approach is to use bitwise operations to directly convert the hexadecimal string to an ASCII string. In this approach, we would start by converting the hexadecimal string to a series of bytes. We can do this by iterating through the string and converting each pair of hexadecimal digits to a byte. Once we have the bytes, we can use bitwise operations to convert them to characters in the ASCII string.
In this implementation, we use a stringstream to build the ASCII string. We iterate through the hexadecimal string, converting each pair of hexadecimal digits to a byte using stoi. Then, we append the byte to the stringstream. Finally, we return the contents of the stringstream as the ASCII string.
Here is the code of this approach:
C++
#include <bits/stdc++.h>
using namespace std;
string hexToASCII(std::string hex) {
stringstream ss;
for (size_t i = 0; i < hex.length(); i += 2) {
unsigned char byte =stoi(hex.substr(i, 2), nullptr, 16);
ss << byte;
}
return ss.str();
}
int main() {
string hexString = "6765656b73";
string asciiString = hexToASCII(hexString);
cout << asciiString << endl;
return 0;
}
Java
import java.util.*;
public class HexToASCII {
public static String hexToASCII(String hex) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hex.length(); i += 2) {
String str = hex.substring(i, i + 2);
char ch = (char) Integer.parseInt(str, 16);
sb.append(ch);
}
return sb.toString();
}
public static void main(String[] args) {
String hexString = "6765656b73";
String asciiString = hexToASCII(hexString);
System.out.println(asciiString);
}
}
Python3
def hex_to_ascii(hex_str):
ascii_str = ""
for i in range(0, len(hex_str), 2):
byte = int(hex_str[i:i+2], 16)
ascii_str += chr(byte)
return ascii_str
# Driver code
hex_string = "6765656b73"
ascii_string = hex_to_ascii(hex_string)
print(ascii_string)
C#
using System;
using System.Text;
public class Program
{
public static string HexToASCII(string hex)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hex.Length; i += 2)
{
byte b = Convert.ToByte(hex.Substring(i, 2), 16);
sb.Append((char)b);
}
return sb.ToString();
}
public static void Main()
{
string hexString = "6765656b73";
string asciiString = HexToASCII(hexString);
Console.WriteLine(asciiString);
}
}
// This code is contributed by Prajwal Kandekar
JavaScript
// Javascript code addition
function hexToASCII(hex) {
let sb = "";
for (let i = 0; i < hex.length; i += 2) {
let str = hex.substring(i, i + 2);
let ch = String.fromCharCode(parseInt(str, 16));
sb += ch;
}
return sb;
}
let hexString = "6765656b73";
let asciiString = hexToASCII(hexString);
console.log(asciiString);
// The code is contributed by Nidhi goel.
Output
geeks
Time complexity: O(n), where N is the length of the given string
Auxiliary space: O(n)
Similar Reads
Convert the ASCII value sentence to its equivalent string Given a string str which represents the ASCII (American Standard Code for Information Interchange) Sentence, the task is to convert this string into its equivalent character sequence. Examples: Input: str = "71101101107115" Output: Geeks 71, 101, 101, 107 are 115 are the unicode values of the charac
5 min read
Convert Character value to ASCII value in R Programming - charToRaw() Function charToRaw() function in R Language is used to convert the given character to their corresponding ASCII value or "raw" objects. Syntax: charToRaw(x)Parameters: x: Given characters to be converted  Example 1: Python3 # R program to illustrate # charToRaw function # Calling charToRaw() function over
1 min read
8085 program to convert a hexadecimal number into ASCII code Problem: Write an assembly-level language program to convert the HEX code to its respective ASCII code. Assume that the starting address of the program and input memory location are 2000 and 2050 respectively. Example: Input: 2050 E4 (Hex data)Output:2051 34 (ASCII code for 4)2052 45 (ASCII code for
2 min read
Convert Decimal to Other Bases in Python Given a number in decimal number convert it into binary, octal and hexadecimal number. Here is function to convert decimal to binary, decimal to octal and decimal to hexadecimal. Examples: Input : 55 Output : 55 in Binary : 0b110111 55 in Octal : 0o67 55 in Hexadecimal : 0x37 Input : 282 Output : 28
2 min read
Decode an Encoded Base 64 String to ASCII String Prerequisite : What is base64 Encoding and why we encode strings to base64 formatBase64 encoding is performed at sending node before transmitting bits over a network, and receiving node decodes that encoded data back to original ASCII string. Base64 character set is // 64 characterschar_set = "ABCDE
15+ min read
Program for Hexadecimal to Decimal Given a hexadecimal number as input, we need to write a program to convert the given hexadecimal number into an equivalent decimal number.Examples: Input : 67 Output: 103 Input : 512 Output: 1298 Input : 123 Output: 291Hexadecimal NumberWe know that hexadecimal number uses 16 symbols {0, 1, 2, 4, 5,
9 min read