FAT32学习笔记(二)长文件名的处理,文件内容的查找,目录的处理

长文件名的处理

在FAT32的directory entry里,所预留的文件名的长度是8.3格式的,也就是说,文件名是8个字符,后缀名是3个字符,长于这个的就被认为不合法。不太确定这个规定是从FAT12开始的,还是从FAT16开始的,总之在FAT32里依旧有这个限制的影子,但FAT32同样也有机制去处理更长的文件名。

下面是按照第一篇文章一样的方式创建出来的FAT32文件格式的image文件,然后在里面创建一个名字巨长无比的文件,就叫abcdefghijklmnopqrstuvwxyz.txt1234吧,这个是远远突破了8.3格式的要求了,下面是它在FAT32 image里的样子,如图:


至于为什么会找到0x9e000这个地址,请看FAT32学习笔记(一)里的介绍。

从这个截图里可以看到,在0x9e060的地方和文件名非常相似,所不同的是创建的文件名是小写,而image里所存储的却是大写,而且,在不考虑长文件名支持的情况下,这个文件读出来会是"ABCDEF~1.TXT",相信很多人都会有一种特别熟悉的感觉,尤其是这个“xxxx~1.xxx”中的“~1”。接下来就是FAT32中对长文件名的格式定义ÿ

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FAT32文件分配表32)是一种常见的文件系统,用于在计算机硬盘驱动器上存储和管理文件。该文件系统最早由微软引入,适用于各种操作系统,包括Windows、macOS和Linux。FAT32文件系统主要用于较小的存储设备,例如闪存驱动器和SD卡。 FAT32文件系统采用了有趣的文件结构,其中包含了几个重要的组件。首先是引导记录(Boot Record),其位于存储设备的第一个扇区中。引导记录存储了启动硬件的相关信息,并在文件系统初始化时充当重要的角色。 文件分配表(File Allocation Table)是FAT32文件系统的核心组件之一。它记录了存储设备上每个文件的分配信息。文件分配表中的每个表项都指示与文件相关的簇(cluster)号码,用于确定文件存储设备上的物理位置。 目录条目(Directory Entry)也是FAT32文件系统中重要的组成部分。每个目录条目对应着一个文件或子目录。每个目录条目包含一些元数据信息,例如文件名、扩展名、文件大小、创建日期等。FAT32文件系统使用一种层次结构来组织目录条目,使得用户可以轻松地浏览和查找文件。 在FAT32文件系统中,还有一个名为文件簇(Cluster)的概念。文件簇是最小的可分配存储单位,用于存储文件内容文件系统通过在文件分配表中跟踪文件的簇号码来定位文件内容所在位置。每个簇的大小通常是4KB或8KB,具体取决于存储设备的大小。 总的来说,FAT32文件系统结构包括了引导记录、文件分配表、目录条目和文件簇等关键组件。这些组件紧密配合,使得FAT32文件系统能够在存储设备上高效地存储和管理文件。虽然FAT32文件系统有一些限制,如单个文件的最大大小仅为4GB,但它仍然被广泛应用于移动存储设备等场景中,由于其易于兼容和可靠性的特点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值