00lingylf 发表于 2016-02-16 17:29

python socket 编码问题

大家好,咨询个问题
最近在学习python 用的版本是python3.4,遇到个问题想请教大家
想做个UDP server
用udp调试工具发送的数据是十六进制的“40 3f 00 11 11 92 22”
运行程序后接收到的数据是   b'@?\x00\x11\x11\x92"'
我应该怎样把我的数据转换成数字啊,比如十六进制的40变成64
我用data.decode('utf-8')能转换一部分数字,但是像十六进制的92好像就超界了
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x92 in position 5: invalid start byte

怎么把字节流里面的数据拿出来啊
谢谢

00lingylf 发表于 2016-02-17 09:57

本帖最后由 00lingylf 于 2016-02-17 09:58 编辑

问题解决了,我想多了,我要的数据就在byte流里面,不需要decode,直接把字节包当列表来操作就行了
socket接收到的data数据直接用列表索引访问
print(data)
print(type(data))
输出
146
<class 'int'>


这个帖子给了很大帮助,感谢博主
hp://ooaer.iteye.com/blog/1757532
新人,发不了连接,上面的hp改成http
页: [1]
查看完整版本: python socket 编码问题