表20 扩展文件名目录项结构
字段名 | 偏移(字节) | 大小(字节) | 描述/值 | ||||||||||||||||||||
项类型 | 0 | 1 | 0xC1
|
||||||||||||||||||||
常规辅助标志 | 1 | 1 |
|
||||||||||||||||||||
文件名 | 2 | 30 | 15个字符的Unicode文件名,文件名最多255个字符。特殊的文件名“.”(本目录)“..”(上级目录)将不再记录 | ||||||||||||||||||||
注意:可能有1-17个这类项,可记录最大17*15个字符的长文件名(255个字符),文件名字符串不以空结束。
如果“是否使用”是0(0x41)这可能是删除文件集的一部分。 |
文件项集的第3部分是扩展文件名目录项,它的项类型是0xC1,前两个项指示这一项重复多少次,现在最大是17次。
扩展文件名目录项比较简单,它包括项类型,辅助标志和30字节的文件名存储区域。常规辅助标志显示簇分配是不可能的。是这样理解的,一个典型的目录项有标准的格式,偏移20是4字节的第一簇地址,偏移24是8字节的文件长度值。设置常规辅助标志分配是不可能的,实际偏移20是不包含簇地址的。这允许这个区域作为不同的数据来使用或重定义为其它的数据。
文件名是Unicode(16位)字符,不使用空字符串作为结束。字符串的实际长度在目录扩展流项中“文件名长度”中提供。现在文件名长度值范围是0-255。最大文件名是255个字符。
每个扩展文件名目录项包括15个字符,最多有17个这样的项可以保存长文件名。文件集最多包括19个项目,一个255个字符的文件名占用17个0xC1项。0xC1项有严格的顺序,如果顺序出错,文件系统会解释成错误的文件名。
在Carrier的书中(Carrier,2005)描述了FAT文件系统的文件名结构和支持传统的8.3文件名的长文件名项。在传统的FAT目录中描述一个文件有两种不同的项目类型,目录项的顺序首先出现的是文件名的结尾(项目是反序的)。在exFAT中没有8.3项目,exFAT中的顺序是文件名的结尾出现在最后。
下面的图详细说明文件名扩展目录项:
例子中的文件名为:“cryptography_cryp-203-32kbps.mp3”
图27 Winhex显示的文件名扩展目录项
图28删除前文件名扩展目录项格式的转换结果
图29删除后文件名扩展目录项格式的转换结果
文件名扩展目录项(0xC1)长度为32字节,它可以保存15个Unicode字符(每个字符2字节),例子中的文件名需要3个文件名扩展目录项来保荐,第三个项只有两个字节。图27,28分别是Winhex显示和程序的输出结果。当删除文件后,“是否使用”位变成了0,项目类型如图29所示成了0x41。
评论前必须登录!
注册