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实现的tab文件操作类分享
Nov 20 Python
python实现的DES加密算法和3DES加密算法实例
Jun 03 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
Jan 04 Python
解决Python print输出不换行没空格的问题
Nov 14 Python
基于python历史天气采集的分析
Feb 14 Python
ansible动态Inventory主机清单配置遇到的坑
Jan 19 Python
详解Pycharm出现out of memory的终极解决方法
Mar 03 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
如何实现一个python函数装饰器(Decorator)
Oct 12 Python
Python3.9.1中使用split()的处理方法(推荐)
Feb 07 Python
利用python实现后端写网页(flask框架)
Feb 28 Python
Python使用mitmproxy工具监控手机 下载手机小视频
Apr 18 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
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
PHP5中GD库生成图形验证码(有汉字)
2013/07/28 PHP
PHP 如何获取二维数组中某个key的集合
2014/06/03 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
2016/10/08 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
PHP xpath()函数讲解
2019/02/11 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
js模拟滚动条(横向竖向)
2013/02/22 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
jquery获得当前html页面源码的方法
2015/07/14 Javascript
详解jQuery UI库中文本输入自动补全功能的用法
2016/04/23 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
jQuery+PHP+Mysql实现抽奖程序
2020/04/12 jQuery
redux-saga 初识和使用
2018/03/10 Javascript
利用node 判断打开的是文件 还是 文件夹的实例
2019/06/10 Javascript
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:08:33]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python中的pack和unpack的使用
2018/03/12 Python
Python中函数的返回值示例浅析
2019/08/28 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
Python unittest单元测试框架实现参数化
2020/04/29 Python
浅谈pytorch中的BN层的注意事项
2020/06/23 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
马来西亚时装购物网站:ZALORA马来西亚
2017/03/14 全球购物
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
交通专业个人自荐信格式
2013/09/23 职场文书
2014党员学习《反腐倡廉警示教育读本》思想汇报
2014/09/13 职场文书
小班教师个人总结
2015/02/05 职场文书
教师辞职书范文
2015/02/26 职场文书
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle
Java实现字符串转为驼峰格式的方法详解
2022/07/07 Java/Android