Skip to content
Related Articles

Related Articles

Improve Article
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 <bits/stdc++.h>
using namespace std;
 
// Function to print the character sequence
// for the given ASCII sentence
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;
            cout << ch;
 
            // Reset num to 0
            num = 0;
        }
    }
}
 
// Driver code
int main()
{
    string str = "7110110110711510211111471101101107115";
    int len = str.length();
    asciiToSentence(str, len);
 
    return 0;
}

Java




// Java implementation of the approach
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.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 sentence
def 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 code
if __name__ == "__main__" :
    string = "7110110110711510211111471101101107115";
    length = len(string);
     
    asciiToSentence(string, length);
 
# This code is contributed by Ryuga

C#




// C# implementation of the approach
using 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
// PHP implementation of the approach
 
// Function to print the character sequence
// for the given ASCII sentence
function 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
?>

Javascript




<script>
 
// Javascript implementation of the approach
 
// Function to print the character sequence
// for the given ASCII sentence
function 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 code
var str = "7110110110711510211111471101101107115";
var len = str.length;
asciiToSentence(str, len);
 
 
</script>
Output: 



GeeksforGeeks

 

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

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

In case you wish to attend live classes with industry experts, please refer Geeks Classes Live 




My Personal Notes arrow_drop_up
Recommended Articles
Page :