使用数组中的非ASCII字符

时间:2018-11-30 08:07:55

标签: matlab

我正在开发一个程序,该程序将文本文件(utf-8)读入一个字符数组,然后执行诸如排序修整和比较是否相等等操作。

我对不同编码的工作方式不是很熟悉,但是我发现某些字符似乎存储为2个字符。 (这可能不是正确的表达方式)。我的意思是: 采取以下文字:t = 'JOSÉnãodiga' 当我选中t(4) = 'E't(5) = '́'t(4:5) = 'É'

很显然,当我按字符对文本字符进行排序时,会弄乱这些特殊字符。 我想我必须找到一种能够以某种方式切换表示形式的方法,以使每个这些字符成为一个实体(例如int),然后进行处理,甚至转换回去。

可能这意味着更改读取和解析文件的特定方式。

我用来读取文件的是:

function txt = readText(fileName)
textFile = fopen(fileName,'rt'); 
txt = textscan(textFile,'%c');
fclose(textFile);
txt = txt{:,1}';

任何帮助和指导表示赞赏!

0 个答案:

没有答案