添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

【python】将bytes转换为float* 每四字节转化为float

FEATURE_SIZE = 256
def Bytes2Float32String(feature):
    x = ""
    for i in range(FEATURE_SIZE):
        data = feature[i * 4: (i * 4) + 4]
        a = struct.unpack('f', data)
        x += str(a[0])
        if i < FEATURE_SIZE - 1:
            x += ','
    return x
def Bytes2Float32Slice(feature):
    x = []
    for i in range(FEATURE_SIZE):
        data = feature[i * 4: (i * 4) + 4]
        a = struct.unpack('f', data)
        x.append(float(a[0]))
    return x
                    【python】将bytes转换为float*  每四字节转化为floatFEATURE_SIZE = 256def Bytes2Float32String(feature):    x = ""    for i in range(FEATURE_SIZE):        data = feature[i * 4: (i * 4) + 4]        a = struct.unpack('f', data)        x += str(a[0])        if i &lt;
import tensorflow as tf
import numpy as np
a = np.array([1,2,3,4,5,6,7,8,9],dtype='float32');
a = a.reshape(3,3);
c = a + [22,33,44];#c.dtype='float64'
c = c.astype(np.float32)
#c.dtype = 'float32'
frombuffer将data以流的形式读入转化成ndarray对象
numpy.frombuffer(buffer, dtype=float, count=-1, offset=0)
buffer:缓冲区,它表示暴露缓冲区接口的对象。
dtype:代表返回的数据类型数组的数据类型。默认值为0。
count:代表返回的ndarray的长度。默认值为-1。
offset:偏移量,代表读取的起始位置。默认值为0。
#data是字符串的时候,Python3默认str是Unicode类型,所以
				
一个简单的问题搞了一个晚上。将4个字节 转换python 的浮点数!终于发现 https://stackoverflow.com/questions/16087527/converting-a-float-in-chars-to-float-python >>> import struct >>> x = [10, -41, -119, 65] 数据类型转换,指的是通过某种方法,将一个数据由原来的类型转换为另外一个类型。比如,我们将字符串“123”转换为数字123,这就是一种数据类型的转换Python支持各种标准数据类型之间的转换,但并不是任意数据都可以转换的,所有的转换要符合“常理”,逻辑上应该是成立的。比如,你不应该试图将一个complex类型转换为int,因为python也不知该怎么转换
与底层设备做通讯,无论是串行通讯还是TCP,经常遇到以字节形式传输的数据格式,得到底层报文后的数据解析就成了重点。 这个百度求解的过程真是一言难尽,大部分都是复制粘贴,不知所云。 这里将最终结果记录一下。 32位二进制是4个字节,从左到右位0~31,设备间传输格式可能不同,到时候注意高低字节转换。 其中最高位bit0是符号位,0位整数,1位负数。 往后数8位,bit1~bit8是幂指数,意思就是这个byte的二...