我正在使用这些代码从文本文件中读取"1.0.2"
之类的字符串:
reader = fopen('Address\My_Text.txt');
Out= textscan(reader,'%str');
Out1=Out{1} ;
Out2=Out1{1};
fclose(reader);
此代码(Out2)
返回如下字符串:1.0.2
。这是一个文本文件,由MATLAB从HDD中的其他位置复制,并使用上面的代码读取一次,用于与一些现有的文本文件进行比较,然后使用movefile
替换此文件(主文件正常工作)。当我手动创建文本文件并在其中插入"1.0.2"
时,这些代码会正确读取此值。问题是什么? MATLAB的解决方案是什么?
感谢。
答案 0 :(得分:2)
您可以使用fopen('My_Text.txt', 'r', 'n', 'UTF-8')
以UTF-8编码打开此文件。有关添加的3个参数,请查看documentation of fopen
以获取详细信息。
在textscan
之前插入fseek(reader, 3, 'bof')
也可能以不同的方式解决此问题。 
是UTF-8的BOM。