我正在开发一个程序,该程序将文本文件(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}';
任何帮助和指导表示赞赏!