打印
[其他产品]

C语言 读取文件二进制输出乱码解决方法

[复制链接]
948|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
flycamelaaa|  楼主 | 2024-4-22 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[color=var(--weui-FG-HALF)]读取文件二进制输出乱码
C语言中,读取文件,不管是读取二进制的形式,还是一般的形式,如果输出乱码,那十有**是因为程序文件中默认的编码格式与被读取的文件的编码格式不匹配造成的。所要做的方法,就是将二者的编码格式修改成一致。
读取文件输出乱码的解决方法
下面以Windows10环境下的VSCode和txt文件为例对其解决方案进行介绍,步骤如下:
  • 查看C语言文件的编码格式:打开VSCode,确保编辑区中的当前文件是C语言文件,然后查看右下方的一行文字,里面一般会有一个“UTF-8”的字样,说明当前文件的编码为UTF-8(VSCode文件默认的编码好像是UTF-8);
  • 点击UTF-8的字样,在VSCode的编辑区的中间位置的那个搜索框,会弹出个下拉菜单,选择“”通过编码保存”,英文为“save with Encoding”,然后选择“GB18030”(不同版本的VSCode可能有所不同),即“Simplified...”简体中文的选项,为什么要修改成GB18030呢,而不是默认的UTF-8呢,主要是因为避免C语言文件编译运行后输出乱码(即便不读取文件也可能输出乱码);
  • 打开txt文件,点击“文件”菜单中的“另存为”,在弹出的菜单中,在“保存”按钮左侧的“编码”选项框中选择对应GB类的编码格式即可;

提示:也可以去尝试一下如果C语言文件的编码和txt的文件的编码都是UTF-8的情况下,读取二进制数据输出会不会出现乱码的情况!这个鄙人没有尝试过。
免责声明:内容仅供参考,不保证正确性!



使用特权

评论回复
沙发
598330983| | 2024-4-22 09:14 | 只看该作者
编码格式错误导致的。

使用特权

评论回复
板凳
lidi911| | 2024-4-22 19:59 | 只看该作者
在IDE界面配置一下编码格式就可以了

使用特权

评论回复
地板
zhuomuniao110| | 2024-4-22 23:12 | 只看该作者
根据编码来读取就行了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

666

主题

2831

帖子

0

粉丝