python udp通信接收16进制_Python UDP Socket 16进制数据发送 | 学步园

特别标注:

有些网站转载我的文章不标明出处,并且转载不到位,没有把相应的链接一块转过去,比如说下载链接或相关文献的链接等,导致一些网友阅读和使用出现障碍和知识的不连续,所以在此特别标注:我的这篇文章发表在CSDN博客上,可以到CSDN博客来阅读。

正题:

今天琢磨了一下Python UDP Socket 16进制数据发送。

原以为UDP发送和接受的都是字符,怎么能够发送16进制?但细想,其实接收的都是“010100101******”这样的东东。所有,要想发送16进制也是可以做到的。

要实现这个东东,就得用到字节byte,因为Python中没有字节(Byte)类型(可以把这里的字符串理解为字节流),所以得用到python的struct模块来进行字节流转换。

我的思路是这样子的:

1、首先假设有这样一个16进制字符串str: B1 C2 FF 82

2、利用python的字符数组符号分割字符串str,把字符串里面的16进制数据字符分割出来:“B1”, "C2", "FF","82";

3、通过函数int( s, 16)把16进制转换成整形数【函数里面s代表一个16进制字符串】;

4、利用python提供的struct模块里的struct.pack(fmt,v1, v2, ...)函数把整形转换成字节流【具体知识请看附录】;

5、利用socket.sendto函数发送字节流。

【例子:部分重点代码】

addr1 = ("192.168.1

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值