入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

python 2to3 string bytes int 之间的连接

创建时间:2010-11-20 投稿人: 浏览次数:124

在xlrd sheet.lib里面,有这么一段

传进来的rk_str是bytes。

在python2.x里面,string和bytes会自动转换,所以 "/0/0/0/0" + chr(flags & 252) + rk_str[1:4] 这样的bytes和string混合连接的语句没有问题,最后还会自动转换成bytes传递给unpack使用。

但是在Python3里面已经取消了这样的隐含转换,所以必须手动将所有东西转换成bytes再进行连接,修改后变成 d,  =unpack("<d", b"/0/0/0/0" + pack("<i",flags & 252)[0:1] + rk_str[1:4])

另外,pack返回的是一个bytes。假设为ret, 如果取ret[0],得到的是一个int。使用ret[0:2]才能获得一个bytes。

 

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
  • 上一篇:没有了
  • 下一篇:没有了
未上传头像