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 21 Python
python递归计算N!的方法
May 05 Python
python实现定时自动备份文件到其他主机的实例代码
Feb 23 Python
浅析python3字符串格式化format()函数的简单用法
Dec 07 Python
Django自定义用户登录认证示例代码
Jun 30 Python
Python列表与元组的异同详解
Jul 02 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
Jul 11 Python
SpringBoot实现登录注册常见问题解决方案
Mar 04 Python
python zip,lambda,map函数代码实例
Apr 04 Python
python 实现 hive中类似 lateral view explode的功能示例
May 18 Python
python speech模块的使用方法
Sep 09 Python
python的变量和简单数字类型详解
Sep 15 Python
Python数据分析之绘图和可视化详解
Python数据分析之pandas读取数据
Jun 02 #Python
Python 如何实现文件自动去重
python状态机transitions库详解
Jun 02 #Python
python爬取某网站原图作为壁纸
Python爬虫之自动爬取某车之家各车销售数据
从np.random.normal()到正态分布的拟合操作
You might like
php下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
让的PHP代码飞起来的40条小技巧(提升php效率)
2010/04/12 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
2014/03/17 PHP
PHP模块memcached使用指南
2014/12/08 PHP
ThinkPHP的常用配置选项汇总
2016/03/24 PHP
PHP性能优化大全(php.ini)
2016/05/20 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
利用javascript判断文件是否存在
2013/12/31 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
jquery中map函数与each函数的区别实例介绍
2014/06/23 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
Webpack框架核心概念(知识点整理)
2017/12/22 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
vue实现路由懒加载的3种方法示例
2020/09/01 Javascript
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
Django在Win7下的安装及创建项目hello word简明教程
2014/07/14 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
对django的User模型和四种扩展/重写方法小结
2019/08/17 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
客服工作职责
2013/12/11 职场文书
网络书店创业计划书
2014/02/07 职场文书
清扬洗发水广告词
2014/03/14 职场文书
乡镇干部党的群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
Java实现学生管理系统(IO版)
2022/02/24 Java/Android
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript