Python实现byte转integer

 更新时间:2021年06月03日 10:29:26   作者:Silbera  
这篇文章主要介绍了Python实现byte转integer操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

摘自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中常用的高阶函数,通过实例文字解释相结合给大家介绍的非常详细,需要的朋友可以参考下
    2020-02-02
  • 使用Python实现MP4转GIF

    使用Python实现MP4转GIF

    在日常生活中,我们经常会遇到需要将 MP4 文件转换为 GIF 文件的需求,本文将介绍一种使用 Python 实现 MP4 转 GIF 程序的方法,这种方法简单易学,而且完全免费,需要的可以参考下
    2023-12-12
  • Matplotlib实战之玫瑰图绘制详解

    Matplotlib实战之玫瑰图绘制详解

    南丁格尔玫瑰图是一种用极坐标下的柱状图或堆叠柱状图来展示数据的图表,下面我们就来介绍一下如何使用Matplotlib绘制南丁格尔玫瑰图,需要的可以参考下
    2023-08-08
  • Django 序列化的具体使用

    Django 序列化的具体使用

    django rest framework 中的序列化组件,本文主要介绍了Django 序列化的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 详解小白之KMP算法及python实现

    详解小白之KMP算法及python实现

    在看子串匹配问题的时候,书上的关于KMP的算法的介绍总是理解不了。看了一遍代码总是很快的忘掉,后来决定好好分解一下KMP算法,算是给自己加深印象。感兴趣的朋友跟随小编一起看看吧
    2019-04-04
  • 浅析python中的迭代与迭代对象

    浅析python中的迭代与迭代对象

    在本文总小编给大家整理了关于python之中的迭代与迭代对象的相关基础知识点内容,需要的朋友们学习下。
    2018-10-10
  • python 文件操作删除某行的实例

    python 文件操作删除某行的实例

    下面小编就为大家带来一篇python 文件操作删除某行的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Django url反向解析的实现

    Django url反向解析的实现

    本文主要介绍了Django url反向解析的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Python+Django搭建自己的blog网站

    Python+Django搭建自己的blog网站

    一直有种想要搭建自己博客系统打冲动,可惜需要前端知识较多,而且还要安装一系列软件并配置(windows平台),后来偶然发现了Django这个神器,恰巧刚学过python,于是就又装了ubuntu(安装各种软件配置都方便),折腾了半天,终于搭建起来自己的第一个简易博客。
    2018-03-03
  • 将pytorch的网络等转移到cuda

    将pytorch的网络等转移到cuda

    这篇文章主要介绍了将pytorch的网络等转移到cuda的实现,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06

最新评论