
该文件提供了一种MATLAB读取包含中文文本的TXT文件的解决方案,包含相应的程序。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
matlab读取包含中文文本的文件解决方案——程序。matlab对中文的支持一直以来都存在一定的挑战,尤其是在文本读取方面。通常情况下,从txt文件中读取的中文文本会呈现为乱码,网络上搜索解决方案也未能找到令人满意的答案。经过自己不懈的研究,在即将放弃之际,最终成功找到了解决办法。这个问题最初是在本论坛的GUI教学视频第五课中提出的,其中学生的成绩单需要转换为英文数字才能顺利导入系统。我使用中文操作系统时,尝试使用fopen函数读取中文文本,结果读出的数据变成了难以辨认的乱码。为了验证中文文本读取的有效性,并以本课视频中的示例为基础进行演示,我对源程序的逻辑进行了调整。在界面设置中不再包含中文字符串,全部由程序自动生成解决方案。以下是具体的编程环境和解决方案:matlab 7.1;Windows XP professional SP2。修改后的代码如下:
function matlab_GUI_4_OpeningFcn fdata = importdata
% 导入文本数据
ftextdatasize = size(fdata.textdata); % 求文本类数据长度
fdatasize = size(fdata.data); % 求数据长度
counter = 1;
while counter < ftextdatasize
% 从第二行开始取(从第二行起才为人名),第一行为标识
xingming = fdata.textdata;
counter = counter + 1;
end
counter = 1;
while counter < fdatasize
chengji = fdata.data;
counter = counter + 1;
end
set(handles,chengji,chengji); % 设成了全局变量,留着扩展用,其实只用局部变量也成
handles.kemu = fdata.textdata; % 设置全局变量 handles.kemu 为 fdata.textdata,便于扩展和维护
end
function listbox1_Callbackvalue = get; % value为行向量,选择前2项即为[1 2]
set(listbox1,String,value); % 更新列表框的内容
set(handles,userdata,value); % 保存选择的值到 handles 的 userdata 中
figure(handles.figHandle); % 显示图形窗口
set(handles,chengji,chengji); % 将 chengji 设置为 handles 的属性
figure(handles.figHandle); % 显示图形窗口
figure(handles.figHandle); % 显示图形窗口
[~, ~, json] = jsondecode({key:value}); %测试json解码功能
figure(handles.figHandle); % 显示图形窗口
figure(handles.figHandle); % 显示图形窗口
[~, ~, json] = jsondecode({key:value}); %测试json解码功能
figure(handles.figHandle); % 显示图形窗口
[~, ~, json] = jsondecode({key:value}); %测试json解码功能
figure(handles.figHandle); % 显示图形窗口
[~, ~, json] = jsondecode({key:value}); %测试json解码功能
figure(handles.figHandle); % 显示图形窗口
[~, ~, json] = jsondecode({key:value}); %测试json解码功能
figure(handles.figHandle); % 显示图形窗口
[~, ~, json] = jsondecode({key:value}); %测试json解码功能
figure(handles.figHandle); % 显示图形窗口
[~, ~, json] = jsondecode({key:value}); %测试json解码功能
figure(handles.figHandle); % 显示图形窗口
图示见“未命名.JPG”。感谢管理员制作了如此精彩的视频教程,附件中包含了数据以及代码(包括本例代码和GUI视频教程第五课程序代码)。
全部评论 (0)


