Fatfs关于cc936和支持中文的问题。
查了些资料,都说Fatfs要支持中文要使用cc936,我想问这个支持中文指的是什么?能读中文文件夹,文件名为中文的文件,文件中的中文,创建包含中文的文件和文件夹?那比如,我的需求只是写中文字符到文件(名字为英文)内,不需要读中文,还要使用cc936吗?我这测试的是_CODE_PAGE=437,也能把中文写进文件里.
我理解的是GBK的中文字符不过是两个字节而已,写进文件里,只不过是这两个字节而已,跟fatfs用不用GBK字符集没关系,只要我不读中文就没事。
我这样理解对吗?
这个主要是针对文件名说的。 文件内存储什么都可以,选择二进制格式就行。 只是,如果有中文,你在写入的时候,用的什么编码,读出来的时候也需要用相同的编码。 而,这个编码方式,与你的C文件选择的格式有关系的。 这是针对文件名和文件夹名的。因为在FAT文件系统内部,保存文件名用的是UTF16LE编码(属于Unicode字符集),但是我们在电脑上命名或者在.c文件里调用函数命名时用的是GBK(GB2312)编码,这就需要这个转换表对这两种编码进行转换。 kokoromi 发表于 2021-6-11 16:36
这是针对文件名和文件夹名的。因为在FAT文件系统内部,保存文件名用的是UTF16LE编码(属于Unicode字符集) ...
此为正解。
页:
[1]