๐ŸŒ
Soscisurvey
soscisurvey.de โ€บ tools โ€บ view-chars.php
View non-printable unicode characters
Online tool to display non-printable characters that may be hidden in copy&pasted strings.
formatting marks for content design
Non-printing characters or formatting marks are characters for content designing in word processors, which are not displayed at printing. It is also possible to customize their display on the monitor. The most โ€ฆ Wikipedia
๐ŸŒ
Wikipedia
en.wikipedia.org โ€บ wiki โ€บ Non-printing_character_in_word_processors
Non-printing character in word processors - Wikipedia
April 8, 2026 - Non-printing characters or formatting marks are characters for content designing in word processors, which are not displayed at printing. It is also possible to customize their display on the monitor. The most common non-printable characters in word processors are pilcrow, space, non-breaking ...
Discussions

Why are these considered "Non-Printable ASCII Characters"?
u/blueboy714 - Your post was submitted successfully. Once your problem is solved, reply to the answer(s) saying Solution Verified to close the thread. Follow the submission rules -- particularly 1 and 2. To fix the body, click edit. To fix your title, delete and re-post. Include your Excel version and all other relevant information Failing to follow these steps may result in your post being removed without warning. I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns. More on reddit.com
๐ŸŒ r/excel
14
3
November 6, 2022
binary - How to find non-printable character in text file - Stack Overflow
I have a text file that is processed by a third party. They told me the file is invalid because it contains a non-printable character. What's the best way to find the non-printable character as my ... More on stackoverflow.com
๐ŸŒ stackoverflow.com
python - Show non printable characters in a string - Stack Overflow
Is it possible to visualize non-printable characters in a python string with its hex values? e.g. If I have a string with a newline inside I would like to replace it with \x0a. I know there is r... More on stackoverflow.com
๐ŸŒ stackoverflow.com
How can I insert non-printing special characters in component and Tag/Layer names?
I would like to be able to insert a character into tag and component definition names, to force names starting with or including that character to sort before the space character. I use Mac OS X (either Mojave or Big Sur), not Windows. It may not be possible, and I can live with that if I have to. More on forums.sketchup.com
๐ŸŒ forums.sketchup.com
3
0
January 10, 2021
People also ask

What is a non-printing character?

Non-printing characters, essential in computing, programming, and communications, are symbols that don't visibly appear when printed or displayed. Examples include newline ( ) for line breaks and tab ( ) for spacing. They play a vital role in text formatting, coding, and data transmission. Understanding and correctly utilizing these characters ensures well-structured code, readable text, and effective communication. Proper handling of non-printing characters is crucial in preventing formatting issues, maintaining data integrity, and facilitating seamless interactions within the digital realm.

๐ŸŒ
lenovo.com
lenovo.com โ€บ home
Non-Printing Characters: Essential Understanding | Lenovo US
Why are non-printing characters important in computing?

Non-printing characters are crucial in computing for structuring and organizing text, enhancing code readability, and ensuring proper data transmission. These invisible characters, such as newline and tab, act as formatting tools, facilitating clean code presentation. In programming, they play a pivotal role in code structure, making it more readable and maintainable. Additionally, in data transmission, non-printing characters, like Start of Text (STX) and End of Text (ETX), define the beginning and end of data, ensuring accurate communication.

๐ŸŒ
lenovo.com
lenovo.com โ€บ home
Non-Printing Characters: Essential Understanding | Lenovo US
How do non-printing characters impact programming?

In programming, non-printing characters are the unsung heroes. They enable clear code formatting, making it readable and organized. For instance, indentation, achieved with tab characters, enhances code readability, and newline characters structure the code into manageable sections.

๐ŸŒ
lenovo.com
lenovo.com โ€บ home
Non-Printing Characters: Essential Understanding | Lenovo US
๐ŸŒ
Invisible Character Viewer
invisiblecharacterviewer.com
Invisible Character Viewer (ใ…ค) - Copy & Detect Invisible Text
5Use the checkbox to toggle the visibility of space characters. This online tool reveals and highlights non-printable characters that may be hidden in copy & pasted text, such as spaces, tabs, line breaks, zero-width, and other control codes.
๐ŸŒ
Reddit
reddit.com โ€บ r/excel โ€บ why are these considered "non-printable ascii characters"?
r/excel on Reddit: Why are these considered "Non-Printable ASCII Characters"?
November 6, 2022 -

I have created a spreadsheet that has some ASCII characters in some cells but my ASCII checker is saying everything is non-printable ASCII characters.

I have provided a link to my file. I have highlighted the cells that have non-printable ASCII characters.

Non-Printable ASCII File

Any help figuring out what I am doing wrong would be appreciated. Thanks.

๐ŸŒ
Lenovo
lenovo.com โ€บ home
Non-Printing Characters: Essential Understanding | Lenovo US
Non-printing characters, essential in computing, programming, and communications, are symbols that don't visibly appear when printed or displayed. Examples include newline (\n) for line breaks and tab (\t) for spacing. They play a vital role in text formatting, coding, and data transmission.
Find elsewhere
๐ŸŒ
Invisible Characters
invisible-characters.com โ€บ view.html
Decode and view invisible, non-printable Unicode characters
This tool let's you decond and view invisible, non-printable Unicode characters hidden inside of a block of text. Just copy and paste your text (which contains invisible, non-printable Unicode characters) into the text box below and click the "View!" button. The tool will then show you the invisible characters in the text, along with their Unicode code points and names.
๐ŸŒ
DEV Community
dev.to โ€บ smpnjn โ€บ full-list-of-non-printable-characters-lgp
REFERENCE: Full List of Non Printable Characters - DEV Community
March 14, 2022 - Non printable characters on Linux, MacOS or Windows are characters which do not represent a symbol, character, or number which is part of the text of the document, but rather are used for things like character encoding.
๐ŸŒ
Invisible Characters
invisible-characters.com
Unicode characters you can not see
In Unicode there are a lot of invisible, non-printable characters: regular white-space characters (e.g. U+0020 SPACE), language specific fillers (e.g. U+3164 HANGUL FILLER of the Korean Hangual alphabet), or special characters (e.g. U+2800 BRAILLE PATTERN BLANK).
๐ŸŒ
IBM
ibm.com โ€บ support โ€บ pages โ€บ display-non-printable-characters-linux
Display non-printable characters in Linux
October 17, 2019 - od -c For example, if the file contains the following: ====================================================================== select inv_num, inv_dt, quantity from invoices; ====================================================================== od -c will return: 0000000 s e l e c t i n v _ n u m , \ 0000020 \\t i n v _ d t , \ \\t q u a n t i 0000040 t y \ f r o m \\t i n v o i c e s 0000060 ; \ \ 0000063 In the above output a \\t is indicative of a tab character and a \ is indicative of a newline.
๐ŸŒ
SketchUp Community
forums.sketchup.com โ€บ t โ€บ how-can-i-insert-non-printing-special-characters-in-component-and-tag-layer-names โ€บ 148691
How can I insert non-printing special characters in component and Tag/Layer names? - SketchUp - SketchUp Community
January 10, 2021 - I would like to be able to insert a character into tag and component definition names, to force names starting with or including that character to sort before the space character. I use Mac OS X (either Mojave or Big Suโ€ฆ
๐ŸŒ
UW Computer Sciences
pages.cs.wisc.edu โ€บ ~markm โ€บ ascii.html
Check for non-ASCII
Choose a file to check for non-ASCII characters: ยท OR Copy/paste your code here to check for non-ASCII characters:
๐ŸŒ
JetBrains
intellij-support.jetbrains.com โ€บ hc โ€บ en-us โ€บ community โ€บ posts โ€บ 360004413059-How-to-show-all-invisible-unicode-chars
How to show all invisible (unicode) chars โ€“ IDEs Support (IntelliJ Platform) | JetBrains
August 2, 2019 - Is there any way to show in the editor all unicode characters? i don't mean display them properly, i mean just see that there's a non-printable character (using a box or ? or anything) We had an is...
๐ŸŒ
Originality.AI
originality.ai โ€บ blog โ€บ invisible-text-detector-remover
Invisible Text Detector & Remover โ€“ Originality.AI
October 17, 2025 - Use this free tool to find and remove all hidden Unicode characters in your text. LLMs like ChatGPT can inject hidden characters like Em-Dash or Zero Width Space into text. This free tool helps identify them and remove the ones you donโ€™t want
Top answer
1 of 2
3

You could do the comparison of the bytes by storing the strings as constants, with decent names. So case "\0\0": would become case STATUS_CRYPTO_1: which helps remove the 'magic number' aspect of your switch statement.

But the correct solution here is to add some comments. That's what comments were designed for, that's their intended purpose. Some documentation at the top of your function is probably the best place to say what the byte array is that you're comparing against, and why.

2 of 2
8

As can already be seen in the question, using such non-printable characters directly in a string-literal makes the code essentially unreadable. At first glance, you would say that the presented code should fail to compile because there are multiple identical case labels.

Most languages (and that includes C#) support escape sequences to deal with troublesome characters like line-breaks, quotes and non-printable characters. Just like that you would use \n to represent a line-break in a string, you can use \x01 to represent the character U+0001 (ASCII SOH)in a string.
This is very commonly used when the string type is (mis-)used to represent byte data. As an example, your code would become:

switch (s)
{
    case "\x00\x00":
        Console.WriteLine("Crypto method 00");
        break;
    case "\x00\x01":
        Console.WriteLine("Crypto method 01");
        break;
    case "\x00\x02":
        Console.WriteLine("Crypto method 02");
        break;
    case "\x00\x03":
        Console.WriteLine("Crypto method 03");
        break;
    default:
        Console.WriteLine(s);
        break;
}
๐ŸŒ
InterSystems
community.intersystems.com โ€บ post โ€บ filtering-non-printable-characters
Filtering non-printable characters | InterSystems Developer Community
September 5, 2017 - Here's what is happening. The REST service is returning data that appears to have been encoded using escape sequences. For example, line feeds are changed to \n, carriage returns changed to \r, and other non printable characters are changed to character codes, such as $c(26) is changed to \u001a
Top answer
1 of 2
2

The graphic characters would be the one for which the isgraph()/iswgraph() standard functions return true or the ones matched by the [[:graph:]] regular expressions, that is the ones in the graph character class in the locale.

Per POSIX, the print class must be a superset of graph and be disjunct from cntrl and graph must be a superset of upper, lower, alpha, digit, xdigit, and punct and must not include the space (U+0020) character (with no mention of other whitespace characters).

The idea being that the graphic characters would be the ones for which ink would be used to draw them, while printable would be the non-control ones.

In practice, on GNU systems (such as Ubuntu) at least print is graph plus the non-control characters from the space class. Here with glibc 2.35 (as used on Ubuntu 22.04) and in UTF-8 locales, that includes:

U+0020 SPACE
U+1680 OGHAM SPACE MARK
U+2000 EN QUAD
U+2001 EM QUAD
U+2002 EN SPACE
U+2003 EM SPACE
U+2004 THREE-PER-EM SPACE
U+2005 FOUR-PER-EM SPACE
U+2006 SIX-PER-EM SPACE
U+2008 PUNCTUATION SPACE
U+2009 THIN SPACE
U+200A HAIR SPACE
U+205F MEDIUM MATHEMATICAL SPACE
U+3000 IDEOGRAPHIC SPACE

While the space class has:

U+0009 CHARACTER TABULATION
U+000A LINE FEED
U+000B LINE TABULATION
U+000C FORM FEED
U+000D CARRIAGE RETURN
U+0020 SPACE
U+1680 OGHAM SPACE MARK
U+2000 EN QUAD
U+2001 EM QUAD
U+2002 EN SPACE
U+2003 EM SPACE
U+2004 THREE-PER-EM SPACE
U+2005 FOUR-PER-EM SPACE
U+2006 SIX-PER-EM SPACE
U+2008 PUNCTUATION SPACE
U+2009 THIN SPACE
U+200A HAIR SPACE
U+2028 LINE SEPARATOR
U+2029 PARAGRAPH SEPARATOR
U+205F MEDIUM MATHEMATICAL SPACE
U+3000 IDEOGRAPHIC SPACE
2 of 2
0

This Bash script tabulates the character classes associated with each character in the ASCII set (according to GNU/awk definitions).

#! /bin/bash --

Awk='
BEGIN {
    Ctl1 = "SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI ";
    Ctl2 = "DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US SPACE";
    split (Ctl1 Ctl2, Ctl); Ctl[0] = "NUL"; Ctl[127] = "DEL";
    C = "cntrl print graph space blank punct alnum alpha digit lower upper xdigit";
    split (C, Class); 
}
function Char (n, ch, Local, j) {

    printf ("0x%.2X  %5s", n, (n <= 32 || n == 127) ? Ctl[n] : ch);
    for (j = 1; j in Class; ++j) 
        if (ch ~ "[[:" Class[j] ":]]") printf ("  :%s:", Class[j]);
    printf ("\n");
}
{ for (j = 0; j < 128; j++) Char( j, sprintf ("%c", j)); }
'
    echo | awk -f <( printf '%s' "${Awk}" )