我试图将c#函数重写为python。现在我来到了一条看起来像这样的线:
timeArray[i - 1] = (byte)timestamp;显然,它只是解析变量“时间戳”,即长度为10到一个字节的长。但是,这是如何工作的,我如何在蟒蛇中复制它呢?作为参考,这里是c#代码的完整版本:
var timestamp = long.Parse("1647079653");
var timeArray = new byte[8];
timestamp /= 30L;
for (var i = 8; i > 0; i--)
{
timeArray[i - 1] = (byte)timestamp;
timestamp >>= 8;
}这将返回0、0、0、0、3、69、191、127的数组。
当我在python中(使用内置的字节-函数)时,我得到数组的每个索引的疯狂数字,尽管时间戳的初始值是正确的(像6-7位数字),有什么想法吗?
发布于 2022-03-12 12:57:03
好吧我想明白了。它只需要对应二进制的最后8位,这就是字节。工作的python代码:
for i in range(8,0,-1):
num = str(bin(int(timestamp)))
timeArray[i-1] = int(num[len(num)-8:],2)
timestamp = int(timestamp)
timestamp >>= 8https://stackoverflow.com/questions/71449797
复制相似问题