小白问个PYTHON的字节问题
时间:2010-12-01
来源:互联网
环境是3.1
在SCOKET的send()的时候需要传递的是字节流
a = b'abc'
转成字节发送成功,为什么那边获取到的时候也是b'abc',而不是abc,是不是需要自己过滤?
用struct.pack转换后为b'abc'反转回来依旧是b'abc'。这是什么情况啊?
作者: yuttee 发布时间: 2010-12-01
作者: zinak 发布时间: 2010-12-01
按道理传过去不因该接受的地方也是b'abc'呀。这点比较纳闷。。
str = struct.pack("7s","abcdefg")
print(str)
str1 = struct.unpack("7s", str)
print(str1)
作者: yuttee 发布时间: 2010-12-01
x pad byte no value
c char bytes of length 1
b signed char integer (1)
B unsigned char integer
? _Bool bool (2)
h short integer
H unsigned short integer
i int integer
I unsigned int integer
l long integer
L unsigned long integer
q long long integer (3)
Q unsigned long long integer (3)
f float float
d double float
s char[] bytes (1)
p char[] bytes (1)
P void * integer
按格式规定,用s解出来的就是字节啊
作者: zinak 发布时间: 2010-12-01
作者: zinak 发布时间: 2010-12-01
我是说为什么字符串前面始终这个b存在
哎。。
比如str1 = 'abc'
str2 = struct.pack("3s",a)
打印出来是b'abc',表示字节流
那我反转
str3 = struct.pack("3s",str2)
那str3因该等于abc吧?
但是打印出来依旧是b'abc',难道这个反转没用的?还要自己来过滤掉前面的b?
作者: yuttee 发布时间: 2010-12-01
其实是真真pack的是b'abc'
作者: zinak 发布时间: 2010-12-01
我想发送出去的是'abc',接受到就变成b'abc'了。。我愚昧一下。。因为以前写其他语言没碰到过这个问题。。所以有点小白。。
作者: yuttee 发布时间: 2010-12-01
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28