Matlab中数组到UTF-8的转换

本文详细介绍了MATLAB中TCP/IP通信的数据接收方法。包括使用fscanf接收数据的无延时技巧,以及如何利用fread接收包含中文字符的数据,并通过native2unicode函数将数据转换为UTF-8编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要讲解MATLAB中的TCP/IP通信的字节接收方法与转换

1.建立TCP/IP链接我就不写了,网上教程一大堆,写点实用的——数据的接收
查阅matlab文档可以看到接收的几个函数,fgetl、fscanf、fread
fgetl是用来接收一行数据,如果用在socket中会出现延时,所以不建议
fscanf 语法:A = fscanf(tcpID,formatSpec,sizeA),其中tcpID是于打开的tcp端口,fomatSpec是以怎样的格式接收,size是大小。在tcp中推荐实用fscanf(tcpID,‘%c’,sizeA),这样基本没有延时,除非你传输的数据中含有中文字符,如果有中文字符推荐实用fread函数
fread
%判断是否有数据
if get(tcpipClient1,'BytesAvailable')>0
length = tcpipClient1.BytesAvailable; %获取数据的长度
data = fread (tcpipClient1,length); %读取数据是个bytes cell
disp(data);
break;
end
data = native2unicode(data,'UTF-8'); %实现由数组转换成UTF-8编码
data';

2.讲解一下native2unicode
unicodestr = native2unicode(bytes);
unicodestr = native2unicode(bytes, encoding);
bytes是数组,可以是接收的ASCII
encoding支持’UTF-8’, ‘latin1’, ‘US-ASCII’, and ‘Shift_JIS’

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值