Python 如何在.*scm文件中读取字节并将其转换为整数
我正在尝试读取与“面网格”和“纹理网格”信息相关的数据 以下是对数据集的解释,下一个灰色框表示我使用Sublime文本编辑器打开此Python 如何在.*scm文件中读取字节并将其转换为整数,python,binary,Python,Binary,我正在尝试读取与“面网格”和“纹理网格”信息相关的数据 以下是对数据集的解释,下一个灰色框表示我使用Sublime文本编辑器打开此*.scm文件时的外观 我只是猜测每行包含4个字节(4*8位),但只要我知道位代表0或1,但这里我们有像bc06,其中b,c,6不是二进制的 看起来我不知道如何表示数据的基本知识 而且,我也不知道什么是小endianess 我应该从哪里开始 我知道python,我能很好地处理它,但它只是一种自我教育,从未以常规方式学习CS 提前感谢你的帮助 形状和纹理模型(*.scm
*.scm
文件时的外观
我只是猜测每行包含4个字节(4*8位),但只要我知道位代表0或1,但这里我们有像bc06
,其中b,c,6
不是二进制的
看起来我不知道如何表示数据的基本知识
而且,我也不知道什么是小endianess
我应该从哪里开始
我知道python,我能很好地处理它,但它只是一种自我教育,从未以常规方式学习CS
提前感谢你的帮助
形状和纹理模型(*.scm)
形状模型描述顶点位置的统计变化,即平均位置周围的x、y和z坐标的变化。同样,纹理模型描述顶点颜色(红色、绿色和蓝色)的变化。
为此,将面形状和纹理矢量化。形状向量按顺序描述所有N个顶点的x、y和z坐标:[x1、y1、z1、…、xN、yN、zN]。纹理向量如下:[r1,g1,b1,…,rN,gN,bN]。
*.scm文件的布局如下(小尾端字节顺序)。请注意,无符号int是4字节,double是8字节
+附加问题:为什么在十六进制之后每行都有0000?@IgnacioVazquez Abrams当我在python中使用unpack()时,我应该使用哪种格式?我已经完成了以下操作:from struct import*//scm=open(“/Users/zachary/Downloads/sfm\u shape\u 1724.scm”)//unpack(scm)返回需要fmt表示的错误。
bc06 0000 280d 0000 5801 0000 5a01 0000
4d03 0000 5801 0000 4d03 0000 5901 0000
5c01 0000 5901 0000 4d03 0000 5c01 0000
4d03 0000 5a01 0000 f902 0000 fa02 0000
4e03 0000 f902 0000 4e03 0000 fb02 0000
fd02 0000 fb02 0000 4e03 0000 fd02 0000
4e03 0000 fa02 0000 5b01 0000 6101 0000
4f03 0000 5b01 0000 4f03 0000 1801 0000
1901 0000 1801 0000 4f03 0000 1901 0000
4f03 0000 6101 0000 fc02 0000 c202 0000
5003 0000 fc02 0000 5003 0000 0203 0000
c302 0000 0203 0000 5003 0000 c302 0000
5003 0000 c202 0000 5901 0000 5501 0000
5103 0000 5901 0000 5103 0000 5801 0000
5d01 0000 5801 0000 5103 0000 5d01 0000
5103 0000 5501 0000 fa02 0000 f902 0000
5203 0000 fa02 0000 5203 0000 f602 0000
fe02 0000 f602 0000 5203 0000 fe02 0000
5203 0000 f902 0000 5501 0000 5901 0000
5303 0000 5501 0000 5303 0000 5601 0000
5b01 0000 5601 0000 5303 0000 5b01 0000
5303 0000 5901 0000 f602 0000 f702 0000
5403 0000 f602 0000 5403 0000 fa02 0000
fc02 0000 fa02 0000 5403 0000 fc02 0000