代码

import struct

import ctypes

def test_struct(buf, offset):

return struct.unpack_from("I", buf, offset)[0]

def test_ctypes(buf, offset):

return ctypes.c_uint32.from_buffer(buf, offset).value

def test_multi(buf, offset):

return buf[offset] + (buf[offset+1] << 8) + (buf[offset+2] << 16) +(buf[offset+3] << 24)

buf_w = bytearray(5)

buf_w[1] = 1

buf_r = buffer(buf_w)

if __name__ == '__main__':

import timeit

t1 = timeit.Timer("test_struct(buf_r, 1)",

"from __main__ import test_struct, buf_r")

t2 = timeit.Timer("test_ctypes(buf_w, 1)",

"from __main__ import test_ctypes, buf_w")

t3 = timeit.Timer("test_multi(buf_w, 1)",

"from __main__ import test_multi, buf_w")

print t1.timeit(number=1000)

print t2.timeit(number=1000)

print t3.timeit(number=1000)

结果

number = 10000

0.0081958770752

0.012549161911

0.0112121105194

number = 1000

0.00087308883667

0.00125789642334

0.00110197067261

number = 100

0.0000917911529541 # 9.17911529541e-05

0.000133991241455

0.00011420249939

number = 10

1.69277191162e-05

2.19345092773e-05

1.69277191162e-05

number = 1

1.00135803223e-05

1.00135803223e-05

5.96046447754e-06

pythonbyte转int_Python将byte数组转换为int详解相关推荐

  1. pythonbyte转int_Python将byte数组转换为int

    代码 import struct import ctypes def test_struct(buf, offset): return struct.unpack_from("I" ...

  2. java byte转成int数组_Java任意长度byte数组转换为int数组的方法

    前言 嗯.最近工程上遇到一个byte数组转换为int的问题,解决过程中遇到了几个坑,经过各种查资料终于还是解决了.撒花. Java的位运算以及byte数组与其他类型数据的转换比c/c++感觉麻烦一些. ...

  3. java byte数组转int数组_Java任意长度byte数组转换为int数组的方法

    前言 嗯.最近工程上遇到一个byte数组转换为int的问题,解决过程中遇到了几个坑,经过各种查资料终于还是解决了.撒花. Java的位运算以及byte数组与其他类型数据的转换比c/c++感觉麻烦一些. ...

  4. java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)

    java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...

  5. java中byte数组与int类型的转换(两种方式)

    java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...

  6. byte数组与int类型互相转换的几种方式

    查看原文:http://www.ibloger.net/article/147.html Java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中 ...

  7. java short to byte_java笔记 Java中byte数组与int,long,short,char间的转换

    package com.util; public class ByteUtil { /** * 转换short为byte * * @param b * @param s * 需要转换的short * ...

  8. java byte数组与int,long,short,byte转换

    1 public class DataTypeChangeHelper { 2 /** 3 * 将一个单字节的byte转换成32位的int 4 * 5 * @param b 6 * byte 7 * ...

  9. java byte数组转long_Java中byte、byte数组与int、long的转换详解

    一.Java 中 byte 和 int 之间的转换源码: //byte 与 int 的相互转换 public static byte intToByte(int x) { return (byte) ...

最新文章

  1. java 泛型详解-绝对是对泛型方法讲解
  2. spring的aop配置-配置将通知织入目标对象
  3. html文档php 取mac地址_cpu序列号_硬盘序列号,用vbs脚本获取网卡MAC,CPUID,硬盘序列号的实现代码...
  4. Alsa里面恶心的DAPM
  5. dns 服务器 linux_在Linux上构建自己的DNS服务器
  6. 系统调用的概念和类型
  7. 在一个字符串中找到第一个只出现一次的字符, 并返回它的位置
  8. Unity 接入有道智云AI - 文档翻译
  9. java源码app,飞飞CMS双端JAVA原生APP源码
  10. 二进制反码求和java_有趣的二进制-浮点数
  11. Vue绘制业务流程图(附源码)
  12. “快播时代”终结:清内容、关服务器!
  13. 一步一步教你将java代码打成jar包用bat批处理命令运行
  14. Python究竟是个啥?为什么985的学生都在学它?早就该曝光了
  15. 第一次CSP认证110分
  16. Java8——Stream流
  17. Create和OnCreate的关系
  18. C++读取局域网内其他计算机共享文件夹的文件
  19. 微信为什么不支持android4,解决android4.4.4手机不能正常调起微信支付问题
  20. K均值聚类以及matlab实现

热门文章

  1. ddt python_python-ddt实践
  2. Python3中异常处理和try/except,try/finally的用法
  3. 深入细枝末节,Python的字体反爬虫到底怎么一回事
  4. Python高级——长连接与短连接(TCP)
  5. Shell脚本语法2
  6. flask 框架第一天学习笔记
  7. LeetCode 题 - 66. 列表元素加一 python实现
  8. 《scikit-learn》数据预处理与特征工程(三)特征选择
  9. 漫步数理统计九——离散随机变量
  10. tensorflow中用saver保存模型