Convert the ASCII value sentence to its equivalent string

• Difficulty Level : Easy
• Last Updated : 18 Mar, 2021

Given a string str which represents the ASCII 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 characters ‘G’, ‘e’, ‘e’, ‘k’ and ‘s’ respectively.
Input: str = “104101108108111443211911111410810033”
Output: hello, world!

Approach: Traverse the complete string character by character and concatenate every digit. Once the value of the concatenation comes in the range [32, 122] we print the character value corresponding to this numeric value in the ASCII table. We are taking the range [32, 122] because spaces, uppercase letters, lowercase letters are within this range.
Below is the implementation of the above approach:

C++

 // C++ implementation of the approach#include using namespace std; // Function to print the character sequence// for the given ASCII sentencevoid asciiToSentence(string str, int len){    int num = 0;    for (int i = 0; i < len; i++) {         // Append the current digit        num = num * 10 + (str[i] - '0');         // If num is within the required range        if (num >= 32 && num <= 122) {             // Convert num to char            char ch = (char)num;            cout << ch;             // Reset num to 0            num = 0;        }    }} // Driver codeint main(){    string str = "7110110110711510211111471101101107115";    int len = str.length();    asciiToSentence(str, len);     return 0;}

Java

 // Java implementation of the approachclass GFG {     // Function to print the character sequence    // for the given ASCII sentence    static void asciiToSentence(String str, int len)    {        int num = 0;        for (int i = 0; i < len; i++) {             // Append the current digit            num = num * 10 + (str.charAt(i) - '0');             // If num is within the required range            if (num >= 32 && num <= 122) {                 // Convert num to char                char ch = (char)num;                System.out.print(ch);                 // Reset num to 0                num = 0;            }        }    }     // Driver code    public static void main(String args[])    {        String str = "7110110110711510211111471101101107115";        int len = str.length();        asciiToSentence(str, len);    }}

Python3

 # Python3 implementation of the approach # Function to print the character sequence# for the given ASCII sentencedef asciiToSentence(string, length) :         num = 0;    for i in range(length) :         # Append the current digit        num = num * 10 + (ord(string[i]) -                          ord('0'));         # If num is within the required range        if (num >= 32 and num <= 122) :             # Convert num to char            ch = chr(num);            print(ch, end = "");             # Reset num to 0            num = 0; # Driver codeif __name__ == "__main__" :    string = "7110110110711510211111471101101107115";    length = len(string);         asciiToSentence(string, length); # This code is contributed by Ryuga

C#

 // C# implementation of the approachusing System;class GFG {     // Function to print the character sequence    // for the given ASCII sentence    static void asciiToSentence(String str, int len)    {        int num = 0;        for (int i = 0; i < len; i++) {             // Append the current digit            num = num * 10 + (str[i] - '0');             // If num is within the required range            if (num >= 32 && num <= 122) {                 // Convert num to char                char ch = (char)num;                Console.Write(ch);                 // Reset num to 0                num = 0;            }        }    }     // Driver code    public static void Main()    {        String str = "7110110110711510211111471101101107115";        int len = str.Length;        asciiToSentence(str, len);    }}

PHP

 = 32 && \$num <= 122)        {             // Convert num to char            \$ch = chr(\$num);            print(\$ch);             // Reset num to 0            \$num = 0;            }        }}     // Driver code    \$string = "7110110110711510211111471101101107115";    \$length = strlen(\$string);         asciiToSentence(\$string, \$length); // This code is contributed by mits?>

Javascript


Output:
GeeksforGeeks

Time Complexity: O(N) where N is the length of the given string.

My Personal Notes arrow_drop_up