2017-07-08 56 views
0

我正在嘗試製作一個阿拉伯字母數組,並在其上寫入文本文件中的字母。問題是matlab無法識別它,它給'?'而不是字母。我正在使用matlab 2016a。將阿拉伯字母存儲到字符數組matlab

% 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); 

enter image description here

奇怪的是,當我從命令進入words陣列和評論這是從代碼行的作品。 enter image description here

回答

2

一種解決方法是使用uint16獲得在命令窗口中的16位整數值即

>> words = ['ا','ل','ل','ه',' ', 'و']; 
>> uint16(words) 

ans = 

    1575 1604 1604 1607  32 1608 

現在您的m文件替換words = char([1575 1604 1604 1607 32 1608]);

+0

與我發佈的相同,2分鐘差異:D。我會刪除我的。 – Misaki