比较.DBF文件中的字符数

时间:2017-03-13 12:27:27

标签: string matlab notepad++

我在matlab中实现了一个数据导入,以便将非常大的*.DBF文件加载到我的工作空间中。现在我试图验证,我导入的数据与原始数据相同。我的想法是只计算导入的单元格数组中的字符数,并将其与数字进行比较,即使用view->摘要时Notepad ++计数。 要在matlab中导入文件,我使用了以下代码:

fid = fopen(fullFileName,'r','n','UTF-8'); % used the UTF-8 Option, because otherwise matlab wouldn't recognise german characters like ä,ö,ü
formatSpec=repmat('%s ',1,numberOfColumns); % numberOfColumns is 62 in my chase
data = textscan(fid,formatSpec,'Delimiter','|');
fclose(fid);
data=horzcat(data{:});

现在计算我使用以下代码的字符数:

numberOfCharacters=sum(sum(cellfun(@length,data)))+size(data,1)+size(data,1)*(size(data,2)-1);

这里第一个加数是每个单元格中的字符数。我必须添加第二个summand,因为Notepad将换行符作为字符计算。第三个加数是记事本也计数的分隔符数 现在结果将是
记事本中的19.489.252和 19.485.889在Matlab中 如您所见,与使用的字符数相比,差异非常小。我仍然需要知道这可能是什么原因 我已经检查过的一件事是Notepad ++中使用this回答的非ASCII字符数。非ASCII字符计算正确 不幸的是,我无法为您提供测试数据。所以对于一个答案,我会很高兴任何可能导致角色计数差异的建议。另一种证明matlab导入的数据与原始数据相同的方法也是受欢迎的。

0 个答案:

没有答案