Luat如何实现64位整数的存储

64位整数 8字节的整数

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")



  • 发表于 2019-12-05 15:53
  • 阅读 ( 2350 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
稀饭放姜

产品设计师

3 篇文章

作家榜 »

  1. 技术销售Delectate 43 文章
  2. 陈夏 26 文章
  3. 国梁 24 文章
  4. miuser 21 文章
  5. 晨旭 20 文章
  6. 朱天华 19 文章
  7. 金艺 19 文章
  8. 杨奉武 18 文章