Arrays 将阿拉伯文字母存储到字符数组中
我试图制作一个阿拉伯字母数组,在上面循环,然后将字母写在文本文件中。问题是matlab无法识别它,它给出的是“?”而不是字母。我正在使用Matlab2016aArrays 将阿拉伯文字母存储到字符数组中,arrays,matlab,arabic,Arrays,Matlab,Arabic,我试图制作一个阿拉伯字母数组,在上面循环,然后将字母写在文本文件中。问题是matlab无法识别它,它给出的是“?”而不是字母。我正在使用Matlab2016a % slCharacterEncoding() fid = fopen('nv.txt', 'w+', 'n', 'UTF-8'); words = ['ا','ل','ل','ه',' ', 'و']; for i=1:length(words) w=words(1,i); fprintf(fid,'%s',w); en
% 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
数组并从代码中注释它的行时,它就工作了。
一种解决方法是使用
uint16
在命令窗口中获取其16位整数值,即
>> words = ['ا','ل','ل','ه',' ', 'و'];
>> uint16(words)
ans =
1575 1604 1604 1607 32 1608
现在替换为
words=char([1575 1604 1604 1607 32 1608])代码>在您的m文件中。一种解决方法是使用uint16
在命令窗口中获取其16位整数值,即
>> words = ['ا','ل','ل','ه',' ', 'و'];
>> uint16(words)
ans =
1575 1604 1604 1607 32 1608
现在替换为words=char([1575 1604 1604 1607 32 1608])代码>在您的m文件中。与我发布的相同,2分钟差异:D。我将删除我的。与我发布的相同,2分钟差异:D。我将删除我的。