OpenEdv-开源电子网

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

我移植了一下原子fatfs文件管理历程 读取一个txt文档里面的数据,我每次都读取的固定长度但当这个txt文件中有ASCII字符和中文...

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2024-5-14
在线时间
1 小时
发表于 2024-6-5 19:12:14 | 显示全部楼层 |阅读模式
2金钱

最佳答案

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

解决了留下这篇帖子希望对后面的人有帮助。 固定字节读取的时候(如果txt文本文档中有ASCII码和汉字啥的)缓冲区最后一个字节有可能是下一个汉字的高字节导致字符串全部错乱 解决方法:判断一下最后一个字符串是不是汉字的高字节如果是就把这个字节给丢弃 判断如果从后面直接判断的话不好判断。这里我用的是每次读一个字节 并判断这个字节是不是 >127的如果是大于127的则再读一字节 最后判断一下已经读的个数和我缓冲区的大小 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2024-5-14
在线时间
1 小时
 楼主| 发表于 2024-6-5 19:12:15 | 显示全部楼层
解决了留下这篇帖子希望对后面的人有帮助。
固定字节读取的时候(如果txt文本文档中有ASCII码和汉字啥的)缓冲区最后一个字节有可能是下一个汉字的高字节导致字符串全部错乱
解决方法:判断一下最后一个字符串是不是汉字的高字节如果是就把这个字节给丢弃
判断如果从后面直接判断的话不好判断。这里我用的是每次读一个字节 并判断这个字节是不是
>127的如果是大于127的则再读一字节 最后判断一下已经读的个数和我缓冲区的大小 如果缓冲区放不开了就结束读取
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8204
金钱
8204
注册时间
2020-5-11
在线时间
3697 小时
发表于 2024-6-6 15:45:47 | 显示全部楼层
QQ图片20210717101417.png
专治疑难杂症
回复

使用道具 举报

17

主题

161

帖子

0

精华

高级会员

Rank: 4

积分
955
金钱
955
注册时间
2022-7-21
在线时间
446 小时
发表于 2024-6-8 08:41:40 | 显示全部楼层
强啊,多谢分享
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 18:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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