luat的lua是5.1.5版本,默认是32位整数或者32位float的,当整数大于32位的时候是不能被存储的。
为了解决这个问题,在luat的core层实现了一个方法,用来存储64位的整数。
rtos.toint64("862991234567890","big")
rtos.toint64("862991234567890","little")
注意:该方法返回的是字符串(lua的字符串包含二进制流,也就是number,包括0都可以保存到字符串里,不仅仅是可见ascii)
本质上,number就是N个8位的字节序列,因此有大小端序,根据你实际的文本解析协议选择即可。lua默认是大端序。常用的例子是存储IMIE和ICCID
例如:local imei = rtos.toint64(misc.getImei(), "big")
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!