chinashaoshu 发表于 2021-4-10 16:17:46

Fatfs关于cc936和支持中文的问题。

查了些资料,都说Fatfs要支持中文要使用cc936,我想问这个支持中文指的是什么?能读中文文件夹,文件名为中文的文件,文件中的中文,创建包含中文的文件和文件夹?

那比如,我的需求只是写中文字符到文件(名字为英文)内,不需要读中文,还要使用cc936吗?我这测试的是_CODE_PAGE=437,也能把中文写进文件里.

我理解的是GBK的中文字符不过是两个字节而已,写进文件里,只不过是这两个字节而已,跟fatfs用不用GBK字符集没关系,只要我不读中文就没事。
我这样理解对吗?


eric2013 发表于 2021-4-11 10:17:47

这个主要是针对文件名说的。

caicaptain2 发表于 2021-4-12 09:03:47

文件内存储什么都可以,选择二进制格式就行。 只是,如果有中文,你在写入的时候,用的什么编码,读出来的时候也需要用相同的编码。 而,这个编码方式,与你的C文件选择的格式有关系的。

kokoromi 发表于 2021-6-11 16:36:27

这是针对文件名和文件夹名的。因为在FAT文件系统内部,保存文件名用的是UTF16LE编码(属于Unicode字符集),但是我们在电脑上命名或者在.c文件里调用函数命名时用的是GBK(GB2312)编码,这就需要这个转换表对这两种编码进行转换。

aaa2742 发表于 2021-7-19 11:50:39

kokoromi 发表于 2021-6-11 16:36
这是针对文件名和文件夹名的。因为在FAT文件系统内部,保存文件名用的是UTF16LE编码(属于Unicode字符集) ...

此为正解。
页: [1]
查看完整版本: Fatfs关于cc936和支持中文的问题。