OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4164|回复: 7

求助,FATFS系统是不是可以用Unicode编码打开文件啊

[复制链接]

4

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
225
金钱
225
注册时间
2020-8-28
在线时间
37 小时
发表于 2021-12-3 17:57:33 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 袁子 于 2021-12-3 18:40 编辑

比如,一.txt,直接用f_open(&file,"0:/0x4e00.txt",FA_READ)或者其他能打开并读取文件,要怎么实现,还是要转码?

最佳答案

查看完整内容[请看2#楼]

将数据存储到内存区(指针,申请内存),然后直接传递指针即可。 前提是你 fatfs配置为支持unicode方式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2021-12-3 17:57:34 | 显示全部楼层
袁子 发表于 2021-12-7 16:08
因为串口发送过来的数据就是Unicode编码

将数据存储到内存区(指针,申请内存),然后直接传递指针即可。
前提是你 fatfs配置为支持unicode方式
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2021-12-4 01:07:13 | 显示全部楼层
你这是代码,输入的字符串编码方式是由编译器决定的,你可以修改编译器编码方式为unicode,不过应该fatfs也要做一些适配,具体的还是多看看fatfs官网的资料吧,支持unicode是没有问题的
回复

使用道具 举报

4

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
225
金钱
225
注册时间
2020-8-28
在线时间
37 小时
 楼主| 发表于 2021-12-4 11:22:42 | 显示全部楼层
正点原子 发表于 2021-12-4 01:07
你这是代码,输入的字符串编码方式是由编译器决定的,你可以修改编译器编码方式为unicode,不过应该fatfs也 ...

改了编码方式,我要使用的时候,是不是还是用到那个字符串
f_open(fp, "filename.txt", FA_READ);      /* ANSI/OEM string (char) */
f_open(fp, L"filename.txt", FA_READ);     /* UTF-16 string (WCHAR) */
f_open(fp, u8"filename.txt", FA_READ);    /* UTF-8 string (char) */
f_open(fp, U"filename.txt", FA_READ);     /* UTF-32 string (DWORD) */
f_open(fp, _T("filename.txt"), FA_READ);  /* Changed by configuration (TCHAR) */

那我想的是这个文件名是一.txt,我用这个数组{0x4e00}或者GBK码{0xD2BB}放到函数就能打开这个文件并操作要咋办
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2021-12-4 22:52:22 | 显示全部楼层
袁子 发表于 2021-12-4 11:22
改了编码方式,我要使用的时候,是不是还是用到那个字符串
f_open(fp, "filename.txt", FA_READ);      ...

不支持这个操作。。。你为何要这么操作?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
225
金钱
225
注册时间
2020-8-28
在线时间
37 小时
 楼主| 发表于 2021-12-7 16:08:47 | 显示全部楼层
正点原子 发表于 2021-12-4 22:52
不支持这个操作。。。你为何要这么操作?

因为串口发送过来的数据就是Unicode编码
回复

使用道具 举报

4

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
225
金钱
225
注册时间
2020-8-28
在线时间
37 小时
 楼主| 发表于 2021-12-10 16:07:10 | 显示全部楼层
还有,是不是配置为unicode方式了之后还支持用字符串形式打开文件吗?
回复

使用道具 举报

4

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
225
金钱
225
注册时间
2020-8-28
在线时间
37 小时
 楼主| 发表于 2021-12-10 16:08:46 | 显示全部楼层
本帖最后由 袁子 于 2021-12-11 09:24 编辑
正点原子 发表于 2021-12-4 22:52
不支持这个操作。。。你为何要这么操作?

还有,是不是配置为unicode方式了之后还支持用字符串形式打开文件吗?
试了下,不行了
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-15 04:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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