标签: matlab character-encoding beyondcompare
我有两个具有相同文本内容的数据文本文件,但它们具有不同的大小。以下快照比较它们(使用Beyond Compare)。
似乎文件的十六进制内容不同。 MATLAB函数importdata读取左边的文件,但是右边的文件(更大的文件)给出以下错误:
importdata
无法加载文件。使用TEXTSCAN或FREAD获取更复杂的格式。
两个文件之间究竟有什么区别?
如何让importdata使用右边的文件?
答案 0 :(得分:1)
问题和解决方案已在评论中提及:
似乎一个文本文件是ascii编码(每个字符8位),而第二个文本是unicode(每个字符16位)。尝试将大文件转换为简单的ascii并重新读取
您可能已经在BeyondCompare中看到了区别:左侧是ANSI文件,右侧是带有BOM的unicode(十六进制代码看起来像UTF-16LE。我不确定,版本用于获取屏幕截图的BeyondCompare。我的BeyondCompare不会显示“ Unicode”,而是“ UTF16-LE” ...)。