python3 UPD 传输如何发送字典类型数据?

2016-06-24 18:37:13 +08:00
 dossec

在 python3 使用 UDP 传输的时候如果发送字典类型的数据,会提示: TypeError: a bytes-like object is required, not 'str'

如果不使用 json 格式,会提示: TypeError: a bytes-like object is required, not 'dict'

一定要是 a bytes-like object 这种类型才能传输,那字典如何才能转成 a bytes-like object 类型呢?谢谢大家了

下面是部分发送代码: sent_data = { 'ip': ip, 'id': '021', 'name': 'name' }

json_string = json.dumps(sent_data) s.sendto(json_string, host)

4031 次点击
所在节点    Python
7 条回复
icedx
2016-06-24 18:43:15 +08:00
bytes(json_string, encoding = "utf8")
Kilerd
2016-06-24 19:14:42 +08:00
@icedx 抓。
shyling
2016-06-24 19:22:51 +08:00
str({'name':'123'}).encode('utf-8')
dossec
2016-06-24 19:27:45 +08:00
@icedx 谢谢按你的方法搞定了
dossec
2016-06-24 19:34:29 +08:00
@shyling 谢谢,你的方法也可以。
v2014
2016-06-24 20:46:47 +08:00
我也是醉了,明明早上就告诉你了
dossec
2016-06-24 21:12:53 +08:00
@v2014 我想起来了,我在群里问过了,不过到现在我都没上 QQ ,不好意思哈~~还是要谢谢你

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/288108

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX