pythonbyte转int_Python将byte数组转换为int详解
代码
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详解相关推荐
- pythonbyte转int_Python将byte数组转换为int
代码 import struct import ctypes def test_struct(buf, offset): return struct.unpack_from("I" ...
- java byte转成int数组_Java任意长度byte数组转换为int数组的方法
前言 嗯.最近工程上遇到一个byte数组转换为int的问题,解决过程中遇到了几个坑,经过各种查资料终于还是解决了.撒花. Java的位运算以及byte数组与其他类型数据的转换比c/c++感觉麻烦一些. ...
- java byte数组转int数组_Java任意长度byte数组转换为int数组的方法
前言 嗯.最近工程上遇到一个byte数组转换为int的问题,解决过程中遇到了几个坑,经过各种查资料终于还是解决了.撒花. Java的位运算以及byte数组与其他类型数据的转换比c/c++感觉麻烦一些. ...
- java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)
java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...
- java中byte数组与int类型的转换(两种方式)
java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...
- byte数组与int类型互相转换的几种方式
查看原文:http://www.ibloger.net/article/147.html Java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中 ...
- java short to byte_java笔记 Java中byte数组与int,long,short,char间的转换
package com.util; public class ByteUtil { /** * 转换short为byte * * @param b * @param s * 需要转换的short * ...
- java byte数组与int,long,short,byte转换
1 public class DataTypeChangeHelper { 2 /** 3 * 将一个单字节的byte转换成32位的int 4 * 5 * @param b 6 * byte 7 * ...
- java byte数组转long_Java中byte、byte数组与int、long的转换详解
一.Java 中 byte 和 int 之间的转换源码: //byte 与 int 的相互转换 public static byte intToByte(int x) { return (byte) ...
最新文章
- java 泛型详解-绝对是对泛型方法讲解
- spring的aop配置-配置将通知织入目标对象
- html文档php 取mac地址_cpu序列号_硬盘序列号,用vbs脚本获取网卡MAC,CPUID,硬盘序列号的实现代码...
- Alsa里面恶心的DAPM
- dns 服务器 linux_在Linux上构建自己的DNS服务器
- 系统调用的概念和类型
- 在一个字符串中找到第一个只出现一次的字符, 并返回它的位置
- Unity 接入有道智云AI - 文档翻译
- java源码app,飞飞CMS双端JAVA原生APP源码
- 二进制反码求和java_有趣的二进制-浮点数
- Vue绘制业务流程图(附源码)
- “快播时代”终结:清内容、关服务器!
- 一步一步教你将java代码打成jar包用bat批处理命令运行
- Python究竟是个啥?为什么985的学生都在学它?早就该曝光了
- 第一次CSP认证110分
- Java8——Stream流
- Create和OnCreate的关系
- C++读取局域网内其他计算机共享文件夹的文件
- 微信为什么不支持android4,解决android4.4.4手机不能正常调起微信支付问题
- K均值聚类以及matlab实现