Windows – How to show special characters in filename in Windows

filenamesspecial charactersunicodewindows

How can I inspect the characters of a file name in Windows 10 ?

I have some files which contains some 'space' characters, and other who contain some 'non-breaking-space' characters. And maybe some with a mix of the two, or others who contains other "space-like" characters.

Another example would be the latin 'c' character, VS the cyrillic 'с' character.

I need to know how to inspect those characters, when I have the need.

To reproduce a simplified sample of the problem I am facing, you can use this in a PowerShell :

mkdir 'test space'
mkdir 'test space'
dir test*space

(the second one is with a non-breaking space, you can write one with Alt + 0160 on numpad)

Here is the output on PowerShell :

example of folder with special char versus 'normal' chars

To be clear, I don't just want to differentiate between 2 nearly identical names.

I would like to have a way of knowing if one of the space in any filename / folder name is a special space (and which one it is), and same for other characters like 'c' : is it a latin 'c' or a cyrillic 'c' or some other graphically identical thing ? And which one ?


I have found different info on how to search for filenames with special characters : Trying to search filenames with special characters in windows explorer (Windows 10)

or how to create one :

How to create folder name or file name with special characters like \ / : * ? " < > |

How would I go about creating a filename with invalid characters such as :?> ?

But, if I've read correctly, it doesn't seem that the answers give a way to see the special characters.

Best Answer

The only way to be certain what characters are hidden in a filename is to examine the volume table of contents (TOC) in a hex editor. Any given font you use to view a filename might be missing or have duplicates of a given character. For example, of the two files below that appear to be unins batt.png, one has a space and the other a non-breaking space in the name.

Space vs. NBS in filename

In a hex editor, the difference is obvious: 0x00FF2000 as opposed to 0x00F5A000.

VTOC in MiTec HexEdit

Related Question