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怎么学好python?
Oct 07 Python
python开发之str.format()用法实例分析
Feb 22 Python
python数据处理实战(必看篇)
Jun 11 Python
关于python之字典的嵌套,递归调用方法
Jan 21 Python
对python while循环和双重循环的实例详解
Aug 23 Python
python 魔法函数实例及解析
Sep 25 Python
python 实现绘制整齐的表格
Nov 18 Python
python实现TCP文件传输
Mar 20 Python
django orm模块中的 is_delete用法
May 20 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 Python
python 多线程爬取壁纸网站的示例
Feb 20 Python
一文读懂python Scrapy爬虫框架
Feb 24 Python
Python数据分析之绘图和可视化详解
Python数据分析之pandas读取数据
Jun 02 #Python
Python 如何实现文件自动去重
python状态机transitions库详解
Jun 02 #Python
python爬取某网站原图作为壁纸
Python爬虫之自动爬取某车之家各车销售数据
从np.random.normal()到正态分布的拟合操作
You might like
PHP中显示格式化的用户输入
2006/10/09 PHP
用PHP和ACCESS写聊天室(八)
2006/10/09 PHP
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
php 购物车的例子
2009/05/04 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
克隆一个新项目的快捷方式
2013/04/10 PHP
强烈声明: 不要使用(include/require)_once
2013/06/06 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
jquery获取radio值(单选组radio)
2014/10/16 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
js 数据存储和DOM编程
2017/02/09 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
JSON创建键值对(key是中文或者数字)方式详解
2017/08/24 Javascript
实例讲解React 组件
2020/07/07 Javascript
[35:43]2018DOTA2亚洲邀请赛 4.1 小组赛B组 paiN vs Effect
2018/04/03 DOTA
python strip() 函数和 split() 函数的详解及实例
2017/02/03 Python
Python实现两个list对应元素相减操作示例
2017/06/09 Python
Python实现注册登录系统
2017/08/08 Python
Python简单实现网页内容抓取功能示例
2018/06/07 Python
python实现机器学习之元线性回归
2018/09/06 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
tensorboard实现同时显示训练曲线和测试曲线
2020/01/21 Python
基于Python的OCR实现示例
2020/04/03 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
酒店中秋节活动方案
2014/01/31 职场文书
行政办公室岗位职责
2014/03/18 职场文书
银行授权委托书格式
2014/10/10 职场文书
影视后期实训报告
2014/11/05 职场文书
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python