load file.txt
加载错误
ASCII 文件第 1 行的未知文本
只有.words.txt
“ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ ".
如何将以 utf-8(西里尔文)保存的文本文件加载到 matlab 中并使用 TMG matlab 工具箱?我知道不久前在这里发布了类似的答案。它不能解决我的问题。 TMG 仍然不起作用。
最佳答案
为了正确处理 UTF 字符串,您必须使用二进制方法从文本文件中读取它们,如下所示:
fid = fopen('mytext.txt','rb');
bytes = fread(fid,'*uint8')';
fclose(fid);
txt = native2unicode(bytes,'UTF-8');
此时,您的字符串将包含正确的值,但 Matlab 仍无法正确显示它。要解决此问题,您要么必须使用支持 unicode 字符的字体的 Java Swing
底层标签:
import('java.awt.*');
import('java.swing.*');
lbl = JLabel();
lbl.setFont(Font('Arial Unicode MS',Font.PLAIN,30));
lbl.setText(txt);
或修改 Matlab 使用的默认字符集(默认设置为 ISO-8859-1
)的未记录函数:
feature('DefaultCharacterSet','UTF-8');
关于matlab, utf-8, 西里尔文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47210565/