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开发实例分享bt种子爬虫程序和种子解析
May 21 Python
python魔法方法-自定义序列详解
Jul 21 Python
用Python实现随机森林算法的示例
Aug 24 Python
Django查询数据库的性能优化示例代码
Sep 24 Python
python爬虫面试宝典(常见问题)
Mar 02 Python
pandas 对series和dataframe进行排序的实例
Jun 09 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
Python数据持久化存储实现方法分析
Dec 21 Python
python3 pathlib库Path类方法总结
Dec 26 Python
python如何爬取动态网站
Sep 09 Python
Python何绘制带有背景色块的折线图
Apr 23 Python
如何Python使用re模块实现okenizer
Apr 30 Python
Python数据分析之绘图和可视化详解
Python数据分析之pandas读取数据
Jun 02 #Python
Python 如何实现文件自动去重
python状态机transitions库详解
Jun 02 #Python
python爬取某网站原图作为壁纸
Python爬虫之自动爬取某车之家各车销售数据
从np.random.normal()到正态分布的拟合操作
You might like
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
php 开发中加密的几种方法总结
2017/03/22 PHP
自己动手制作jquery插件之自动添加删除行功能介绍
2011/10/14 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
2016/05/17 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
Vue.js组件使用开发实例教程
2016/11/01 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
javascript实现图片轮换动作方法
2020/08/07 Javascript
使用优化器来提升Python程序的执行效率的教程
2015/04/02 Python
分析并输出Python代码依赖的库的实现代码
2015/08/09 Python
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
Python 实现数据库更新脚本的生成方法
2017/07/09 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
在Python3 numpy中mean和average的区别详解
2019/08/24 Python
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
Java程序员面试90题
2013/10/19 面试题
学前教育毕业生自荐信
2013/10/29 职场文书
护理专科毕业推荐信
2013/11/10 职场文书
小学生成长感言
2014/01/30 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
元宵节晚会主持人串词
2014/03/25 职场文书
仓库文员岗位职责
2014/04/06 职场文书
股份转让协议书
2014/04/12 职场文书
学生逃课检讨书
2015/02/17 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
优质护理心得体会
2016/01/22 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书
浅谈哪个Python库才最适合做数据可视化
2021/06/28 Python
SQL Server中锁的用法
2022/05/20 SQL Server