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 相关文章推荐
wxPython 入门教程
Oct 07 Python
Python 不同对象比较大小示例探讨
Aug 21 Python
python实现提取百度搜索结果的方法
May 19 Python
在主机商的共享服务器上部署Django站点的方法
Jul 22 Python
解决Python中字符串和数字拼接报错的方法
Oct 23 Python
python3之模块psutil系统性能信息使用
May 30 Python
python实现自动网页截图并裁剪图片
Jul 30 Python
python中如何实现将数据分成训练集与测试集的方法
Sep 13 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
Dec 10 Python
python从内存地址上加载python对象过程详解
Jan 08 Python
详解pandas获取Dataframe元素值的几种方法
Jun 14 Python
Django静态文件加载失败解决方案
Aug 26 Python
Python数据分析之绘图和可视化详解
Python数据分析之pandas读取数据
Jun 02 #Python
Python 如何实现文件自动去重
python状态机transitions库详解
Jun 02 #Python
python爬取某网站原图作为壁纸
Python爬虫之自动爬取某车之家各车销售数据
从np.random.normal()到正态分布的拟合操作
You might like
NOT NULL 和NULL
2007/01/15 PHP
珊瑚虫IP库浅析
2007/02/15 PHP
163的邮件用phpmailer发送(实例详解)
2013/06/24 PHP
php.ini中的request_order推荐设置
2015/05/10 PHP
详解php用curl调用接口方法,get和post两种方式
2017/01/13 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
2019/12/12 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
背景图跟随鼠标移动的Mootools插件实现代码
2011/12/12 Javascript
javascript操作css属性
2013/12/30 Javascript
理解JS事件循环
2016/01/07 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
javascript中如何判断类型汇总
2019/05/14 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
Python用sndhdr模块识别音频格式详解
2018/01/11 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
Django操作session 的方法
2020/03/09 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
2020/05/16 Python
基于Python把网站域名解析成ip地址
2020/05/25 Python
python3将变量输入的简单实例
2020/08/19 Python
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
优秀学生事迹材料
2014/02/08 职场文书
事业单位绩效考核实施方案
2014/03/27 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
幼儿园圣诞节活动总结
2015/05/06 职场文书
创业计划书之家教托管
2019/09/25 职场文书
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
浅谈MySql整型索引和字符串索引失效或隐式转换问题
2021/11/20 MySQL
Spring Bean是如何初始化的详解
2022/03/22 Java/Android