使用MiniARM中文件系统能正确读取U盘文件。
但若文件名为汉字时读取出错,查阅资料发现,windows FAT32中应该是使用了unicode编码对文件名进行编码,
然后我查看ZLG/FS系统函数的返回文件名字符串中,将数字和英文字母的unicode码直接转为了ANSI码,
但汉字文件名的编码好像全部变为单字节码0X5F了(一个汉字在字符串只返回一个字节,且都为0X5F),请问一下了解ZLG/FS内部处理方法的工程师说明一下,ZLG/FS是怎么处理的。
感到比较奇怪的一个现象是:
如果我用OSFileOpen(FNAME, "RW");创建一个文件,然后使用ANSI编码的中文字符串FNAME,存盘后,再去读取该文件名时,能够正确的返回该文件名的ANSI字符串。所以我可以在miniarm中使用ANSI字符串的中文文件名,但windows文件系统不认ANSI字符串文件名。
为了和windows兼容,我还是打算使用UNICODE编码处理文件名,但现在的问题是ZLG/FS好像没有正确返回文件名的unicode编码,所以我无法编程。请致远电子的工程师,帮忙解答一下,看有没有什么解决办法!!!
谢谢
|