您的位置:首页 > 编程语言 > Python开发

python socket 数据传输小记

2017-09-27 12:24 316 查看
In python 3, bytes strings and unicodestrings are now two different types. Since sockets are not aware of string encodings, they are using raw bytes strings, that have a slightly differentinterface from
unicode strings.

So, now, whenever you have a unicode stringthat you need to use as a byte string, you need toencode() it. And whenyou have a byte string, you need to decode it to use it as a regular(python 2.x) string.

Unicode strings are quotes enclosedstrings. Bytes strings are b"" enclosed strings

 

When you use client_socket.send(data),replace it by client_socket.send(data.encode()). When you get datausing data = client_socket.recv(512), replace it by data =client_socket.recv(512).decode()

python作者  在python3 更新时  相对于2做出了改进:

将字符串变成了 Unicode,文件默认编码变成了utf-8 

将str 与 bytes 做出了明确区分,str就是单纯的Unicode格式的字符,bytes就是单纯的二进制(在python2里面 Unicode与str类型,str与bytes类型的关系很混乱,具体想了解,自行百度)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: