我有一个备用阵列-->;字节数组(b'\x07\x03\n\n\x04\n\x0f\x00\x00\x00<\x00’)
它表示日期和时间字段。我可以提取日期,但无法提取上午/下午细节的时间。如何决定使用哪种格式的字符
我将struct
库与unpack_from
方法一起使用
import struct
byte_range = bytearray(b'\x07\xe3\n\n\x04\n\x0f\x00\x00\x00<\x00')
data = struct.unpack_from('!HBB',byte_range)
print(data)
我还期待着一个小时,分钟和秒的数据,从它与上午/下午的细节以及。解码的日期时间应该是10/10/2019 1:15:00 PM
datetime元组的形状是
(year, month, day, hour, minute, second, ...)
查看每个format character的大小并知道datetime的每个部分有多大,您就可以知道需要什么格式的字符
对于特定情况,您已经为日期选择了正确的格式字符:
B
是一个无符号字符,1字节,值范围:0到255H
是一个无符号的短字符,2字节,取值范围:0到65535如您所见,
B
太小,无法存储该年的值,这就是您需要H
的原因现在,您知道时间是由3个数字组成的,它们的值范围是0到60,因此
B
是所有这些数字所需要的,最终的格式是!HBBBBB
结果如下:
一个table showing the size of the C integer types可能有用
相关问题 更多 >
编程相关推荐