硬汉嵌入式论坛

 找回密码
 立即注册
查看: 5771|回复: 4
收起左侧

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

[复制链接]

45

主题

70

回帖

205

积分

高级会员

积分
205
发表于 2021-4-10 16:17:46 | 显示全部楼层 |阅读模式
查了些资料,都说Fatfs要支持中文要使用cc936,我想问这个支持中文指的是什么?能读中文文件夹,文件名为中文的文件,文件中的中文,创建包含中文的文件和文件夹?

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

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


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106437
QQ
发表于 2021-4-11 10:17:47 | 显示全部楼层
这个主要是针对文件名说的。
回复

使用道具 举报

332

主题

2031

回帖

3032

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3032
发表于 2021-4-12 09:03:47 | 显示全部楼层
文件内存储什么都可以,选择二进制格式就行。 只是,如果有中文,你在写入的时候,用的什么编码,读出来的时候也需要用相同的编码。 而,这个编码方式,与你的C文件选择的格式有关系的。
回复

使用道具 举报

76

主题

237

回帖

465

积分

高级会员

积分
465
发表于 2021-6-11 16:36:27 | 显示全部楼层
这是针对文件名和文件夹名的。因为在FAT文件系统内部,保存文件名用的是UTF16LE编码(属于Unicode字符集),但是我们在电脑上命名或者在.c文件里调用函数命名时用的是GBK(GB2312)编码,这就需要这个转换表对这两种编码进行转换。
回复

使用道具 举报

1

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2021-7-19 11:50:39 | 显示全部楼层
kokoromi 发表于 2021-6-11 16:36
这是针对文件名和文件夹名的。因为在FAT文件系统内部,保存文件名用的是UTF16LE编码(属于Unicode字符集) ...

此为正解。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-20 16:29 , Processed in 0.221348 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表