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实现简单温度转换的方法
Mar 13 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
Apr 11 Python
Django读取Mysql数据并显示在前端的实例
May 27 Python
如何用Python实现简单的Markdown转换器
Jul 16 Python
python Flask 装饰器顺序问题解决
Aug 08 Python
解决Python下imread,imwrite不支持中文的问题
Dec 05 Python
使用python3实现操作串口详解
Jan 01 Python
详解django2中关于时间处理策略
Mar 06 Python
python利用tkinter实现屏保
Jul 30 Python
pymysql模块的使用(增删改查)详解
Sep 09 Python
tensorflow之并行读入数据详解
Feb 05 Python
使用keras实现非线性回归(两种加激活函数的方式)
Jul 05 Python
Python数据分析之绘图和可视化详解
Python数据分析之pandas读取数据
Jun 02 #Python
Python 如何实现文件自动去重
python状态机transitions库详解
Jun 02 #Python
python爬取某网站原图作为壁纸
Python爬虫之自动爬取某车之家各车销售数据
从np.random.normal()到正态分布的拟合操作
You might like
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
用php解析html的实现代码
2011/08/08 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
浅谈jQuery事件绑定原理
2015/01/02 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
vue项目开发中setTimeout等定时器的管理问题
2018/09/13 Javascript
js中console在一行内打印字符串和对象的方法
2019/09/10 Javascript
vue实现图片裁剪后上传
2020/12/16 Vue.js
在Python3中初学者应会的一些基本的提升效率的小技巧
2015/03/31 Python
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
Python3 Random模块代码详解
2017/12/04 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
2018/01/24 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
2020/02/06 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
2020/06/01 Python
Python把图片转化为pdf代码实例
2020/07/28 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
StubHub希腊:购买体育赛事、音乐会和剧院门票
2019/08/03 全球购物
新媒传信软件测试面试题
2013/02/24 面试题
手机业务员岗位职责
2013/12/13 职场文书
入党积极分子介绍信
2014/01/17 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang
分享mysql的current_timestamp小坑及解决
2021/11/27 MySQL
Axios代理配置及封装响应拦截处理方式
2022/04/07 Vue.js