Python实现byte转integer


Posted in Python onJune 03, 2021

摘自convert a string of bytes into an int (python) - Stack Overflow

需求:将形如'y\xcc\xa6\xbb'的byte字符串转化为integer

方法 1 导入struct包

import struct
struct.unpack("<L", "y\xcc\xa6\xbb")[0]

方法 2 python3.2及以上

若byte串采取大端法:

int.from_bytes(b'y\xcc\xa6\xbb', byteorder='big')

若采取小端法,则:

int.from_bytes(b'y\xcc\xa6\xbb', byteorder='little')

方法3 借助十六进制转换

大端法:

s = 'y\xcc\xa6\xbb'
num = int(s.encode('hex'), 16)

小端法:

int(''.join(reversed(s)).encode('hex'), 16)

方法4 使用array包

import array
integerValue = array.array("I", 'y\xcc\xa6\xbb')[0]

其中I用于表示大端或小端,且使用此方法要注意自己使用的python版本。

方法5 自己写函数实现

如:

sum(ord(c) << (i * 8) for i, c in enumerate('y\xcc\xa6\xbb'[::-1]))

又如:

def bytes2int( tb, order='big'):
    if order == 'big': seq=[0,1,2,3]
    elif order == 'little': seq=[3,2,1,0]
    i = 0
    for j in seq: i = (i<<8)+tb[j]
    return i

ps: CSDN的markdown编辑器好难用,写到页面底端就换行错乱,跳字符。

python int 转byte,byte转int

data_byte1 = int(1324).to_bytes(length=2, byteorder='big', signed=True)
#int(参数):参数代表要被转换的数字
#length=2:代表要转换成几个字节
#byteorder='big'代表高位在前,相反little
data_byte2 = int().from_bytes(data_byte1, byteorder='big', signed=True)
print(data_byte1) print(data_byte2)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 不同对象比较大小示例探讨
Aug 21 Python
实例解析Python的Twisted框架中Deferred对象的用法
May 25 Python
详解Python中contextlib上下文管理模块的用法
Jun 28 Python
人机交互程序 python实现人机对话
Nov 14 Python
python正则实现计算器功能
Dec 14 Python
numpy排序与集合运算用法示例
Dec 15 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
Jun 20 Python
numpy的文件存储.npy .npz 文件详解
Jul 09 Python
python引入不同文件夹下的自定义模块方法
Oct 27 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
Feb 11 Python
基于python实现破解滑动验证码过程解析
May 28 Python
Python实现快速大文件比较代码解析
Sep 04 Python
Python数据分析之绘图和可视化详解
Python数据分析之pandas读取数据
Jun 02 #Python
Python 如何实现文件自动去重
python状态机transitions库详解
Jun 02 #Python
python爬取某网站原图作为壁纸
Python爬虫之自动爬取某车之家各车销售数据
从np.random.normal()到正态分布的拟合操作
You might like
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
thinkPHP模板引擎用法示例
2016/12/08 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
Bootstrap轮播图的使用和理解4
2016/12/14 Javascript
深入了解JavaScript的逻辑运算符(与、或)
2016/12/20 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
2017/04/11 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
Vue.js中对css的操作(修改)具体方式详解
2018/10/30 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
Vue使用Three.js加载glTF模型的方法详解
2020/06/14 Javascript
[02:11]2014DOTA2 TI专访VG战队Fenrir:队伍气氛良好
2014/07/11 DOTA
python映射列表实例分析
2015/01/26 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Python3中的最大整数和最大浮点数实例
2019/07/09 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
司机检讨书
2014/02/13 职场文书
公司管理建议书范文
2014/03/12 职场文书
产品推广策划方案
2014/05/10 职场文书
政协会议宣传标语
2014/10/09 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
初三毕业评语
2014/12/26 职场文书
2015年万圣节活动总结
2015/03/24 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python
磁贴还没死, 微软Win11可修改注册表找回Win10开始菜单
2021/11/21 数码科技
Python实现双向链表基本操作
2022/05/25 Python