初级会员

- 积分
- 71
- 金钱
- 71
- 注册时间
- 2012-4-20
- 在线时间
- 0 小时
|
其实这是个抱怨帖。
晚上自己做个文件系统的移植。在做启动界面的时,通过文件名直接搜索图像。
图像文件名为“Home.jpg”
但就是错误,不能显示图片。然后自己用LCD显示命令,在文件系统内到处打入显示,最终发现是在文件名比较时出错!
然后自己查看了整个 文件系统也没有发现字符转换的函数。
自己解决无果!度娘上
发现和FAT32的文件系统设计有关(应该是所有FAT文件系统)
1、短文件名,使用的是单字节字符集,或者DBCS。在存储介质上保存时,文件名转换为大写形式后保存的,因为不同国家有不同的小写形式。
2、长文件名,使用的是16bit字符集,即Unicode。在存储介质上保存时,不区分大小写。
3、一个具有长文件名的文件,FAT32文件系统用一个短文件名目录项和多个长文件名目录项保存。这样,不支持长文件名的FAT实现也可以正常访问这种文
件。短文件名目录项只保存11个字符,所以,为了分割基本文件名和扩展文件名,FAT实现得自己插入两者之间的“.”,实际上,在短文件名目录项的文件名
字段内,不允许出现“.”。长文件名,就是长文件名。
(第三点在文件系统设计的代码中就体现出来了)
所以:FAT文件系统是不区分大小写的!!!都是大写!!!。~~~坑爹啊!
htthttp://www.sudu.cn/info/html/edu/20070101/292149.html这个就是我百度到得解释!
与君共勉!
还有感谢下原子哥的开源!
还有弱弱问下:原子哥真的是一个人?还是一群人?
|
|