Mathematica 文件读取乱码的解决
来源:网络收集 点击: 时间:2024-05-23首先,通过$CharacterEncodings我们可以查看所有MMA支持的编码。
其中常见的有Unicode,UTF8,WindowsANSI,MacintoshChineseSimplified。

我们现在有三个文件用于测试,都是用记事本编写保存。三个文件分别按照ANSI,Unicode,UTF-8编码保存。
如果直接使用ReadString,几乎都出现了乱码。ReadString无编码设置,只处理英文字符即可。


可以使用Import函数,设置一个参数CharacterEncoding。
ANSI保存的文件,设置为MacintoshChineseSimplified即可正常读取。
另外两种,分别设定Unicode和UTF-8.

读取结果如图,只是MMA对某些编码换行符的解释,可能和别的文本编辑器不一致。可以使用字符串处理函数去除额外的换行符。

对于自带编码的文档,比如xml文档就自己指定了编码,直接Import即可成功导入。

另外,一些编辑器按照GB2312编码保存的文件,在中文Windows上就是ANSI,用MacintoshChineseSimplified编码打开即可。

另外,Read函数也可能读取到正确的编码。Read使用一行一行流读取的方式。
但是,如果将字符转码再转回,不一定是可逆的,可能和原文有出入。需要小心。

关于编码转换不在本经验讨论范围。
以上适合11.0版本,在新版本中可能有更好的编码支持。
MATHEMATICA编码乱码文件版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.ff371.cn/art_837128.html