为什么importdata不能在这里工作?

时间:2015-11-29 08:53:01

标签: matlab character-encoding beyondcompare

我有两个具有相同文本内容的数据文本文件,但它们具有不同的大小。以下快照比较它们(使用Beyond Compare)。

enter image description here

似乎文件的十六进制内容不同。 MATLAB函数importdata读取左边的文件,但是右边的文件(更大的文件)给出以下错误:

  

无法加载文件。使用TEXTSCAN或FREAD获取更复杂的格式。

两个文件之间究竟有什么区别?

如何让importdata使用右边的文件?

1 个答案:

答案 0 :(得分:1)

问题和解决方案已在评论中提及:

  

似乎一个文本文件是ascii编码(每个字符8位),而第二个文本是unicode(每个字符16位)。尝试将大文件转换为简单的ascii并重新读取

您可能已经在BeyondCompare中看到了区别:左侧是ANSI文件,右侧是带有BOM的unicode(十六进制代码看起来像UTF-16LE。我不确定,版本用于获取屏幕截图的BeyondCompare。我的BeyondCompare不会显示“ Unicode”,而是“ UTF16-LE” ...)。

enter image description here