Non-printable ASCII characters list

This blog post explains the non printable characters with their ASCII (American Standard Code for Information Interchange) value in decimal and hex format. The non-printing characters are characters for content designing in word processors, which are not displayed at printing.

Table of non-printable ASCII characters:

The following table contains the non-printable characters with their ASCII value in decimal and hex format.

Non Printable Characters
DEC HEX CHARACTER (CODE) DEC HEX CHARACTER (CODE)
0 0 NULL 16 10 DATA LINK ESCAPE (DLE)
1 1 START OF HEADING (SOH) 17 11 DEVICE CONTROL 1 (DC1)
2 2 START OF TEXT (STX) 18 12 DEVICE CONTROL 2 (DC2)
3 3 END OF TEXT (ETX) 19 13 DEVICE CONTROL 3 (DC3)
4 4 END OF TRANSMISSION (EOT) 20 14 DEVICE CONTROL 4 (DC4)
5 5 END OF QUERY (ENQ) 21 15 NEGATIVE ACKNOWLEDGEMENT (NAK)
6 6 ACKNOWLEDGE (ACK) 22 16 SYNCHRONIZE (SYN)
7 7 BEEP (BEL) 23 17 END OF TRANSMISSION BLOCK (ETB)
8 8 BACKSPACE (BS) 24 18 CANCEL (CAN)
9 9 HORIZONTAL TAB (HT) 25 19 END OF MEDIUM (EM)
10 A LINE FEED (LF) 26 1A SUBSTITUTE (SUB)
11 B VERTICAL TAB (VT) 27 1B ESCAPE (ESC)
12 C FF (FORM FEED) 28 1C FILE SEPARATOR (FS) RIGHT ARROW
13  D CR (CARRIAGE RETURN) 29 1D GROUP SEPARATOR (GS) LEFT ARROW
14 E SO (SHIFT OUT) 30 1E RECORD SEPARATOR (RS) UP ARROW
15 F SI (SHIFT IN) 31 1F UNIT SEPARATOR (US) DOWN ARROW

 

Now let’s see a C program to validate the above-mentioned non-printable characters.

Now you are thinking about how I will validate?

The answer to your question is that I will use the isprint function for each character. The isprint is a library function that returns a non-zero value if the argument is a printable character.

In the following code, I am creating an array of ASCII code for non-printing characters and validating each character through the isprint library function in a “for loop“.

#include <stdio.h>
#include <ctype.h>

int main()
{
    int i = 0;

    //ASCII value of all non-printable character
    int asciiValue[] =
    {
        0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
        17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
    };

    //Get array size
    const int arraySize = sizeof(asciiValue)/sizeof(asciiValue[0]);

    // looping through all elements of array
    for (i = 0; i < arraySize; ++i)
    {
        if(isprint(asciiValue[i])!= 0)
        {
            //print
            printf("%c ", asciiValue[i]);
        }
    }

    return 0;
}

Output:

Nothing will be printed.

Non-printable ASCII characters list

 

Recommended Post: