Matlab中数组到UTF-8的转换

本文主要讲解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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值