您的位置:首页 > 编程语言 > Python开发

Python 读取GIST Data Set(二)

2016-06-11 10:05 726 查看
摘取自:http://www.cnblogs.com/gala/archive/2011/09/22/2184801.html

以读取GIST SIFT数据集为目的对原文进行了摘选和修改:

对struct.unpack_from('<I'
, Buffer , index)中重要参数'<I' 进行说明:

struct支持以下格式:

FormatC TypePython字节数
xpad byteno value1
ccharstring of length 1
bsigned charinteger1
Bunsigned charinteger1
?_Boolbool1
hshortinteger2
Hunsigned shortinteger2
iintinteger4
Iunsigned intinteger or long4
llonginteger4
Lunsigned longlong4
qlong longlong8
Qunsigned long longlong8
ffloatfloat4
ddoublefloat8
schar[]string1
pchar[]string1
对于Matlab中的Uint8数据类型,可以替换为unsigned char.

struct根据本地机器字节顺序转换(Big-endian, Little-endian).可以用格式中的第一个字符来改变对齐方式.

定义如下:

Character
Byte order
Size and alignment
@
native
native          凑够4个字节
=
native
standard       
按原字节数


little-endian
standard       
按原字节数


big-endian
standard        按原字节数
!
network (= big-endian)
standard        按原字节数
E.g: 

'<IIII'
小端方式读入连续16字节,解析为4个Python中4字节整形数据类型.

'>I6f7BI'
大端方式读入连续(4+6*4+7*1+4)字节。

解析为连续的1个4字节整形数据类型,6个4字节float数据类型,7个1字节整形数据类型,一个4字节整形数据类型.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python