查看: 116|回复: 1|关注: 0

[未答复] matlab关于文件的读写

[复制链接]

新手

9 麦片

财富积分


050


3

主题

6

帖子

0

最佳答案
发表于 2019-3-14 22:30:13 | 显示全部楼层 |阅读模式
fid=fopen('dhy.txt','w+');
fwrite(fid,'我','char');
fwrite(fid,'我','int16');

我本来想的是,汉字是用两个字节编码的,那么以“char”方式写入和以“int16”方式写入是不是都是将该汉字“我”的编码写到文件中?尝试了一下,发现以“char”方式写入时,文件中显示16进制CED2,以“int16”写入时,文件中显示16进制1162,是我哪里理解错了?

新手

9 麦片

财富积分


050


3

主题

6

帖子

0

最佳答案
 楼主| 发表于 7 天前 | 显示全部楼层
自我回复(个人理解):问题的关键在于不同的编码格式。
打开的文件默认的编码格式是GBK,而matlab字符的在内存中UTF-16,当编码格式指定为“char”时,是将字符以GBK的格式写入到文件中;而指定格式为“int16”时,就是将UTF-16的编码写入到文件中。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

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