在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,而如果文件名和扩展名都是小写的则11000(0x18)。(这个字节的含义只是我不完全统计的结果) |
mCrtTim |