Хранить арабские буквы в массив символов Matlab
Я пытаюсь сделать массив арабских букв, зациклить его и записать буквы в текстовом файле. Проблема в том, что Matlab не может распознать это, он дает '?' вместо букв. Я использую Matlab 2016a.
% slCharacterEncoding()
fid = fopen('nv.txt', 'w+', 'n', 'UTF-8');
words = ['ا','ل','ل','ه',' ', 'و'];
for i=1:length(words)
w=words(1,i);
fprintf(fid,'%s',w);
end
fclose(fid);
Странно то, что это работает, когда я вхожу в words
массив из команды и прокомментируйте его строку из кода.
1 ответ
Решение
Один обходной путь будет использовать uint16
чтобы получить их 16-битное целое значение в командном окне, т.е.
>> words = ['ا','ل','ل','ه',' ', 'و'];
>> uint16(words)
ans =
1575 1604 1604 1607 32 1608
Теперь подставим words = char([1575 1604 1604 1607 32 1608]);
в вашем м-файле.