Convert the ASCII value sentence to its equivalent string

27 May, 2022
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++
Java
Python3
C#
PHP
Javascript
// C++ implementation of the approach#include <bits/stdc++.h>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 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 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# 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// PHP implementation of the approach // Function to print the character sequence// for the given ASCII sentencefunction asciiToSentence($string, $length){    $num = 0;    for($i = 0; $i < $length; $i++)    {         // Append the current digit        $num = $num * 10 + (ord($string[$i]) - ord('0'));         // If num is within the required range        if ($num >= 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?>
<script> // Javascript implementation of the approach // Function to print the character sequence// for the given ASCII sentencefunction asciiToSentence(str, len){    var num = 0;    for (var 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            var ch = String.fromCharCode(num);            document.write(ch);             // Reset num to 0            num = 0;        }    }} // Driver codevar str = "7110110110711510211111471101101107115";var len = str.length;asciiToSentence(str, len);  </script>
GeeksforGeeks
 
Time Complexity: O(N), as we are using a loop to traverse N times so it will cost us O(N) time, where N is the length of the given string.Auxiliary Space: O(1), as we are not using any extra space.
ankthon
Mithun Kumar
rutvik_56
rohitsingh07052
ASCII
Arrays
Mathematical
Strings
Arrays
Strings
Mathematical
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.