python字符串(Unicode和UTF-8)TCP传输信息的编码方式

本文探讨了在ESP32开发板与手机通过TCP进行通信时,如何处理数字和字符串的编码与解码问题。在UTF-8编码下,发送的数字1和2解码后成为字符串形式,需要通过if判断来识别。同时,文章展示了如何打印和解码接收到的数据,以及在数据处理过程中的实际代码示例。

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

esp32开发板和手机建立TCP通讯时,发送的信息有以下不同编码方式
比如我要发送数字1 和 2
不管是Unicode还是UTF-8编码,发送到板子,经过解码出来的1或者2 都是字符串的形式
(比如:我要判断我要发送的是1还是2,需要用if判断接收到的信息解码后是否==‘1’或者‘2’字符串)
如图在这里插入图片描述
在这里插入图片描述

解码与编码:

假设:我以UTF-8编码方式发送1,如果直接把data打印出来,
那么发送1,data就是 b’1’,
2就是b’2’
发送中文 :怎 , data就是一堆乱七八糟的数字 如:b’\xe6\x80\x8e’
在这里插入图片描述
此时的数据如果经过decode()函数处理,才会变成字符串的 '1’或者’2’或者’怎’字
代码:

    while 1:
        data = conn.recv(1024)
        if data.decode() == '1':
            conn.send('11111')
        elif data.decode() == '2' :
            conn.send('2222')
        if not data:
            break
        print(str(data,"utf-8"))
        print(data.decode())//这两句打印出来一样

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值