Как показать специальные символы в имени файла в Windows

836
Pacopaco

Как я могу проверить символы имени файла в Windows 10 ?

У меня есть несколько файлов, которые содержат некоторые символы «пробел», и другие, которые содержат некоторые символы «без пробела». И, может быть, некоторые со смесью двух, или другие, которые содержат другие «космические» символы.

Другим примером может служить латинский символ «c», а против кириллицы - «с».

Мне нужно знать, как проверять этих персонажей, когда мне это нужно.

Чтобы воспроизвести упрощенный пример проблемы, с которой я сталкиваюсь, вы можете использовать это в PowerShell:

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

(второй с неразрывным пробелом, вы можете написать один с Alt + 0160 на цифровой клавиатуре)

Вот вывод на PowerShell:

example of folder with special char versus 'normal' chars

Чтобы было ясно, я не просто хочу различать 2 почти одинаковых имени.

Я хотел бы иметь способ узнать, является ли один из пробелов в любом имени файла / имени папки специальным пробелом (и каким он является), и то же самое для других символов, таких как 'c': это латинский 'c' или кириллица с или какая-то другая графически идентичная вещь? А какой?


Я нашел другую информацию о том, как искать имена файлов со специальными символами: Попытка поиска имен файлов со специальными символами в проводнике Windows (Windows 10)

или как его создать :

Как создать имя папки или файла с помощью специальных символов, таких как \ /: *? "<> |

Как мне создать файл с недопустимыми символами, такими как:?>?

Но, если я правильно прочитал, не похоже, что ответы дают возможность увидеть специальные символы.

0
Примечание. Я понимаю, что могу искать имена файлов, содержащие определенные специальные символы, но это решение не масштабируется и действительно * только в том случае, если я уже знаю *, какие специальные символы Юникода я ищу. Вот почему я ищу решение, которое позволило бы мне визуализировать детали всех символов имени файла. Pacopaco 5 лет назад 0
Самый простой способ, который я вижу, это использовать собственный шрифт. Найдите шрифт, в котором разные символы отличаются (например, кириллические символы расположены на 1 пиксель вниз, жесткое пространство отображается в виде 1-пиксельной точки и т. Д.). Akina 5 лет назад 0
Это может быть возможным ответом, и довольно простым, вы хотите превратить этот комментарий в один? Pacopaco 5 лет назад 0
Нет, это совет, а не решение. Если бы у меня была ссылка на такой шрифт ... но у меня ее нет. Akina 5 лет назад 0

1 ответ на вопрос

1
DrMoishe Pippik

Единственный способ быть уверены, какие символы скрыты в имени файла, чтобы изучить таблицу объема содержимого (ТОС) в шестнадцатеричном редакторе. Любой данный шрифт, который вы используете для просмотра имени файла, может отсутствовать или иметь дубликаты данного символа. Например, из двух файлов, представленных ниже unins batt.png, один имеет пробел, а другой - неразрывный пробел в имени.

Space vs. NBS in filename

В шестнадцатеричном редакторе разница очевидна: 0x00FF2000в отличие от 0x00F5A000.

VTOC in MiTec HexEdit

Это был ответ «шестнадцатеричного редактора», на который я надеялся. В качестве дополнения, знаете ли вы какой-нибудь способ найти адрес записи для какого-либо файла в оглавлении, кроме поиска его части (например, «batt»)? Pacopaco 5 лет назад 0
@Pacopaco, поскольку корневой каталог FAT32 не хранится в предопределенном месте, я сделал, как вы сказали, поиск части имени файла. Существуют криминалистические инструменты для детального изучения оглавления и ссылок, но я пошел быстро и грязно. Извини за это. Если кто-то знает о бесплатном инструменте, пожалуйста, опубликуйте его здесь. DrMoishe Pippik 5 лет назад 1