4

所以我试图弄清楚 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 上创建的文件有类似的行为。

4

2 回答 2

3

名称的 ASCII 部分(字母彼此靠近的地方)是传统的 8.3 DOS 短名称。你看它只使用大写字母。在 DOS 中,只有这些会在那里。

较长的部分(中间有 0x00)是长名称(在 Windows 中显示),它是 Unicode,每个字符使用 16 位。

于 2011-11-16T12:19:09.157 回答
1

中间的字节都是 all 0x00,这给人一种强烈的感觉,它们是存储在UTF-16而不是UTF-8中的。也许它们作为与长文件名的其他 VFAT 扩展类似的扩展存在?

于 2011-11-16T12:13:50.853 回答