Странные записи каталогов в файловой системе FAT

Итак, я пытаюсь понять, как работает FAT FS, и запутался в таблице корневого каталога. У меня есть два файла в разделе: test.txt и innit.eh, что приводит к следующей таблице:

Таблица корневого каталога

Записи, начинающиеся с 0xE5, удаляются, поэтому я предполагаю, что они были созданы из-за переименования. Записи для реальных файлов выглядят так:

TEST   TXT *snip*
INNIT  EH  *snip*

Чего я не понимаю, так это того, где такие записи, как

At.e.s.t......t.x.t
Ai.n.n.i.t.....e.h.

исходят из и для чего они. Они не начинаются с 0xE5, поэтому их следует рассматривать как существующие файлы.

Кстати, я использую Debian Linux для создания файловых систем и файлов, но я заметил подобное поведение на FS и файлах, созданных в Windows.


person Armandas    schedule 16.11.2011    source источник


Ответы (2)


Части имени ASCII (где буквы были близки друг к другу) - это устаревшее короткое имя 8.3 DOS. Вы видите, что он использует только заглавные буквы. В DOS были бы только они.

Более длинные части (с 0x00 между ними) — это длинное имя (отображаемое в Windows), которое представляет собой Unicode и использует 16 бит на символ.

person Community    schedule 16.11.2011

Все промежуточные байты — 0x00, что дает сильное ощущение, что они хранятся в UTF-16 вместо UTF-8. Возможно, они существуют как расширение, аналогичное другим расширениям VFAT для длинных имен файлов?

person sarnold    schedule 16.11.2011