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中二维阵列的变换实例
Oct 09 Python
python多线程threading.Lock锁用法实例
Nov 01 Python
Python yield 使用浅析
May 28 Python
python使用xlrd与xlwt对excel的读写和格式设定
Jan 21 Python
JavaScript实现一维数组转化为二维数组
Apr 17 Python
解决python3 json数据包含中文的读写问题
May 10 Python
Python离线安装PIL 模块的方法
Jan 08 Python
python标识符命名规范原理解析
Jan 10 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
Feb 17 Python
Python 格式化打印json数据方法(展开状态)
Feb 27 Python
python使用gdal对shp读取,新建和更新的实例
Mar 10 Python
Python文件夹批处理操作代码实例
Jul 21 Python
Python数据分析之绘图和可视化详解
Python数据分析之pandas读取数据
Jun 02 #Python
Python 如何实现文件自动去重
python状态机transitions库详解
Jun 02 #Python
python爬取某网站原图作为壁纸
Python爬虫之自动爬取某车之家各车销售数据
从np.random.normal()到正态分布的拟合操作
You might like
用穿越火线快速入门php面向对象
2012/02/22 PHP
深入理解PHP中的Session和Cookie
2013/06/21 PHP
利用中国天气预报接口实现简单天气预报
2014/01/20 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
jQuery 页面 Mask实现代码
2010/01/09 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
删除节点的jquery代码
2014/01/13 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
javascript实现控制div颜色
2015/07/07 Javascript
13个PHP函数超实用
2015/10/21 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
微信小程序实现文字跑马灯效果
2020/05/26 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
egg.js的基本使用和调用数据库的方法示例
2019/05/18 Javascript
使用Vue-cli3.0创建的项目 如何发布npm包
2019/10/10 Javascript
微信小程序如何实现精确的日期时间选择器
2020/01/21 Javascript
Python选课系统开发程序
2016/09/02 Python
Python正则抓取网易新闻的方法示例
2017/04/21 Python
Python Datetime模块和Calendar模块用法实例分析
2019/04/15 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
Python flask框架实现查询数据库并显示数据
2020/06/04 Python
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
Overload和Override的区别
2012/09/02 面试题
毕业自荐信
2013/12/16 职场文书
学习之星事迹材料
2014/05/17 职场文书
会计专业求职信
2014/08/10 职场文书
向国旗敬礼活动总结
2014/09/27 职场文书
2014年督导工作总结
2014/11/19 职场文书
服务承诺书
2015/01/19 职场文书
琅琊山导游词
2015/02/05 职场文书
2015年国税春训心得体会
2015/03/09 职场文书