FAT32目录项分析

本文详细解析了FAT32文件系统中目录项(DIR_ENTRY)的结构,包括短文件名(SHORT_DIR_ENTRY)和长文件名(LONG_DIR_ENTRY)。短文件名遵循8.3规则,存储在32字节的SDE中,而长文件名可存储在多个32字节的LDE中,以逆序方式存放。文中还讨论了文件名和扩展名的限制,时间日期格式,以及目录项中的校验和计算方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

FAT32文件系统中,文件名分为两种——长文件名、短文件名。这两种文件名都是存储在目录入口中的(DIR_ENTRY简写DE)中的,不过具体的DE组织结构和数据结构有所不同。

 

1、  短文件名

短文件名存储在短文件名入口(SHORT_DIR_ENTRY简写SDE)中,而且一个短文件名只需要一个SDE即可。

一个SDE大小为32字节,他的具体定义如下表:

名字

偏移

(字节)

大小

(字节数)

描述

mName

0

11

短文件名(文件名和扩展名)

mAttr

11

1

文件属性:

ATTR_READ_ONLY                      0x01

ATTR_HIDDEN                                 0x02

ATTR_SYSTEM                                0x04

ATTR_VOLUME_ID                         0x08

ATTR_DIRECTORY                           0x10

ATTR_ARCHIVE                             0x20

ATTR_LONG_NAME                       ATTR_READ_ONLY| ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME_ID

高两位属性保留,且应该设置为0,文件创建后不应该修改这两个位

mNameCase

12

1

这个是段文件名的大小标志:

FNAME_LOWER_CASE            0x08——01000

FEXT_NAME_LOWER_CASE   0x10——10000

也就是说如果文件名是小写的话01000,而如果扩展名是小写的话则设置10000,而如果文件名和扩展名都是小写的则110000x18)。(这个字节的含义只是我不完全统计的结果)

mCrtTim

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值