python - 套接字编程 - 以字节为单位发送
问题描述
我看到如果我想用字节发送一些东西,我必须写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'
解决方案
如果您使用的是 python3,您可能需要bytes 函数(这将引导您查看bytesarray 函数的文档以获取详细信息)。
您需要知道您的编码your text
才能将其转换为字节。从文档:
如果 [the source] 是一个字符串,您还必须提供编码(以及可选的错误)参数;bytearray() 然后使用 str.encode() 将字符串转换为字节。
所以你会想要类似的东西s.send(bytes(a, 'utf-8'))
。
推荐阅读
- javascript - navigator.serviceWorker.ready 承诺不会在生产的推送通知中得到解决...实际上代码正在开发中
- javascript - Window.location 在 JavaScript 中停止工作
- javascript - 类名包中的类名与类名有什么区别
- system-verilog - Systemverilog 扩展规则
- javascript - 更新到 discord.js v13 时出现 keyArray 问题
- android - 是否可以在 AAR 中包含一些 maven url?
- ruby-on-rails - 默认情况下不加载固定装置
- docker - 无法从 Docker 容器外部访问我的应用程序,但在容器内一切正常
- r - 为什么在albersusa中的points_elided会给出奇怪的结果?
- authentication - App\Http\Controllers\Auth\RegisterController::create():参数 #1 ($request) 必须是 App\Http\Requests\RegisterRequest 类型,给定数组