FAT16文件系统支持Unicode码导致问题,请高手指点!!!!!

ldongpeng 2005-04-15 10:51:50
FAT16文件系统,为支持长文件名,所以添加了Unicode码处理
但命名的时候由于Unicode表汉字的时存在(以0xE5为首字符的情况),
而FAT16文件系统构造中使用0xE5字符来表明目录项曾被使用,但对应的
文件或文件夹已被删除。所以,当文件名取0xE5为首字符的汉字的时候,
出现该文件被误当删除文件。
请高手指点迷津,如果提成较好的处理方法,可以继续添分!
...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
蝎子i软件 2005-04-26
  • 打赏
  • 举报
回复
改一下逻辑:
===============================
而FAT16文件系统构造中使用0xE5字符来表明目录项曾被使用,但对应的
~~~~~~~~~~使用连续的2个0xE5
文件或文件夹已被删除。所以,当文件名取0xE5为首字符的汉字的时候,
出现该文件被误当删除文件。
===============================

仅供参考!
ldongpeng 2005-04-23
  • 打赏
  • 举报
回复
怎么没人指教呢
高手都去那里了???
waiting
自己顶下
ldongpeng 2005-04-17
  • 打赏
  • 举报
回复
TO fmddlmyy(寒潭):
谢谢你的建议
但汉字的内码处理代码及字库已稳定,且这样的改动会涉及系统其他的一些特殊处理的.
现在是只能限制在文件系统做出处理
再次谢谢!:)
晨星 2005-04-15
  • 打赏
  • 举报
回复
这个似乎很难解决,只能避免中文命名了。
为什么不改成FAT32呢?
fmddlmyy 2005-04-15
  • 打赏
  • 举报
回复
我没做过FAT16,胡乱出出主意。

我看了一下6763个汉字717个符号的Unicode编码,高位字节没有e5,低位字节从00-ff什么都有。对于little endian的cpu,低位字节会被放在前面,造成混淆。
那能不能将高字节和低字节调换一下,作为你的内码。在读到外界的Unicode数据时,将它转换到你的内码?
ldongpeng 2005-04-15
  • 打赏
  • 举报
回复
由于,硬件上主要对Flash进行存储,且容量很小,FAT32不是好的选择!!

790

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 其他移动相关
社区管理员
  • 移动开发其他问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧