【发布时间】:2018-06-12 18:32:22
【问题描述】:
我需要以字节形式保存一个 lua float nubers 列表并将其附加到一个字符串。我知道 Lua 5.3 存在 string.pack,但我仅限于 Luajit。我对 FFI 不太熟悉,如果它有解决方案,我会很感激使用它的帮助(使用 tostring(number) 只是对数字使用太多字节并且内存有限)
基本上,我需要一种方法来使用 Luajit 获取数字列表(目前为浮点数)的二进制字符串打包形式,并能够将其存储在字符串中并将该字符串连接到另一个字符串,甚至可以写东西之后(我在 5.3 中遇到了这个问题,所以不确定您在下面向我建议的任何解决方案是否可行)
另外,如果正确完成,我是否可以在获得的字符串上使用正则表达式?这对我来说非常方便。
我不能使用 lua 5.3 作为替代,主要是因为性能。 Luajit 速度更快,更适合我使用它的应用程序(咳嗽训练神经网络)
当然,当我需要 string.pack 时,我需要 string.unpack。
【问题讨论】:
-
只需从lua.org/source/5.3/lstrlib.c.html复制打包/解包函数并将它们编译成您自己的二进制模块。