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 获取本机ip地址的两个方法
Feb 25 Python
讲解python参数和作用域的使用
Nov 01 Python
Python中利用sorted()函数排序的简单教程
Apr 27 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
Apr 18 Python
Python写一个基于MD5的文件监听程序
Mar 11 Python
python常用函数与用法示例
Jul 02 Python
Python faker生成器生成虚拟数据代码实例
Jul 20 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
Aug 04 Python
通过代码实例了解Python3编程技巧
Oct 13 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
Jan 29 Python
Pandas数据分析的一些常用小技巧
Feb 07 Python
Python数据分析之绘图和可视化详解
Python数据分析之pandas读取数据
Jun 02 #Python
Python 如何实现文件自动去重
python状态机transitions库详解
Jun 02 #Python
python爬取某网站原图作为壁纸
Python爬虫之自动爬取某车之家各车销售数据
从np.random.normal()到正态分布的拟合操作
You might like
PHP中使用CURL伪造来路抓取页面或文件
2011/05/04 PHP
PDO::quote讲解
2019/01/29 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
2019/10/17 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
云网广告中的代码,提示出错,大家找找
2006/11/21 Javascript
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
JavaScript 解析读取XML文档 实例代码
2009/07/07 Javascript
由Javascript实现的页面日历
2011/11/04 Javascript
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
分享9点个人认为比较重要的javascript 编程技巧
2015/04/27 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
React组件之间的通信的实例代码
2017/06/27 Javascript
js中的闭包学习心得
2018/02/06 Javascript
Vue.js实现的计算器功能完整示例
2018/07/11 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
原生js实现密码强度验证功能
2020/03/18 Javascript
vue将data恢复到初始状态 &amp;&amp; 重新渲染组件实例
2020/09/04 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
python3爬取数据至mysql的方法
2018/06/26 Python
Python 十六进制整数与ASCii编码字符串相互转换方法
2018/07/09 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
挑战杯创业计划书的写作指南
2014/01/07 职场文书
爱情检讨书大全
2014/01/21 职场文书
爽歪歪广告词
2014/03/20 职场文书
产品开发计划书
2014/04/27 职场文书
学校联谊协议书
2014/09/16 职场文书
领导班子群众路线与四风问题对照检查材料思想汇报
2014/10/11 职场文书
银行贷款收入证明
2014/10/17 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
详解非极大值抑制算法之Python实现
2021/06/28 Python
Python  lambda匿名函数和三元运算符
2022/04/19 Python