首页 > 解决方案 > 套接字编程 - 以字节为单位发送

问题描述

我看到如果我想用字节发送一些东西,我必须写s.send(b'your text')。到目前为止还不错。但是如果'your text'存储在一个变量中(比如a = 'your text')并且我想以a字节为单位发送变量会发生什么?我假设并测试:

s.send(b 'a') #does not work,it will send only 'a' as byte
s.send(b(a)) #does not work, error 'b is not defined'

标签: pythonsockets

解决方案


如果您使用的是 python3,您可能需要bytes 函数(这将引导您查看bytesarray 函数的文档以获取详细信息)。

您需要知道您的编码your text才能将其转换为字节。从文档:

如果 [the source] 是一个字符串,您还必须提供编码(以及可选的错误)参数;bytearray() 然后使用 str.encode() 将字符串转换为字节。

所以你会想要类似的东西s.send(bytes(a, 'utf-8'))


推荐阅读