我一直在尝试创建一个Android应用程序,以使用手机上的IR blaster控制各种设备。首先,我想获取另一个应用程序使用的脉冲,即小米的“Mi Remote”应用程序。
我安装了该应用程序,并从Android的/data
目录中复制了该应用程序的数据。我设法找到一个SQLite数据库,其中包含设备的频率和脉冲信息。如下所示,它被存储为代码段。谁能确定这是什么语言?
if(exts~=nil) then
timing_on=exts[9]
timing_off=exts[10]
bytes1={}
for i=1,9,1 do bytes1[i]=bytes[i] bytes1[i+9]=bytes[i] end
bytes1[13]=0x60
if(((timing_on==0)or(timing_on==nil))and((timing_off==0) or(timing_off==nil)))then return end
if(timing_on~=nil)and(timing_on>0) then
if(timing_on<600) then
if(timing_on%60==0) then
bytes1[2]=(bytes1[2]&0x0F)+0x80
else bytes1[2]=(bytes1[2]&0x0F)+0x90
end
elseif(timing_on>=600)and(timing_on<1200) then
if(timing_on%60==0) then
bytes1[2]=(bytes[2]&0x0F)+0xA0
else bytes1[2]=(bytes1[2]&0x0F)+0xB0
end
elseif(timing_on>=1200) then
if(timing_on%60==0) then
bytes[2]=(bytes1[2]&0x0F)+0xC0
else bytes1[2]=(bytes1[2]&0x0F)+0xD0
end
end
bytes1[3]=bytes1[3]+math.floor((timing_on\/60)%10)
bytes1[9]=(((bytes1[1]&0x0F)+(bytes1[2]&0x0F)+(bytes1[3]&0x0F)+(bytes1[4]&0x0F)+(bytes1[6]>>4)+0x0C)<<4)
bytes1[11]=bytes1[2]
bytes1[12]=bytes1[3]
bytes1[15]=(timing_on&0xFF)
bytes1[16]=((timing_on>>8)&0x0F)
bytes1[17]=0
bytes1[18]=(((bytes1[9]>>4)+(bytes1[15]>>4)+(bytes1[16]>>4)+(bytes1[17]>>4)+0x0D)<<4)+0x02
elseif(timing_off~=nil)and(timing_off>0)then
if(timing_off<600) then
if(timing_off%60==0) then
bytes1[2]=(bytes1[2]&0x0F)+0x80
else
bytes1[2]=(bytes1[2]&0x0F)+0x90
end
elseif(timing_off>=600)and(timing_off<1200) then
if(timing_off%60==0) then
bytes1[2]=(bytes1[2]&0x0F)+0xA0
else bytes1[2]=(bytes1[2]&0x0F)+0xB0
end
elseif(timing_off)>=1200 then
if(timing_off%60==0) then
bytes1[2]=(bytes1[2]&0x0F)+0xC0
else bytes1[2]=(bytes1[2]&0x0F)+0xD0
end
end
bytes1[3]=bytes1[3]+math.floor((timing_off\/60)%10)
bytes1[9]=(((bytes1[1]&0x0F)+(bytes1[2]&0x0F)+(bytes1[3]&0x0F)+(bytes1[4]&0x0F)+(bytes1[6]>>4)+0x0C)<<4)
bytes1[11]=bytes1[2]
bytes1[12]=bytes1[3]
bytes1[16]=((timing_off&0x0F)<<4)
bytes1[17]=(timing_off>>4)
bytes1[15]=0
bytes1[18]=(((bytes1[9]>>4)+(bytes1[15]>>4)+(bytes1[16]>>4)+(bytes1[17]>>4)+0x0D)<<4)+0x01
end
bytes=bytes1
end
最佳答案
可能是Lua。它具有elseif
和nil
以及具有.floor()
函数的数学库。