local buffers = socket.receive();
这里拿到的buffers一个接受数据的字节流字符串,假如前4个字节是整数,
类似的情况在C里面我们可以直接
int i;
memcpy(&i, buffers, 4);
拿到。
那么,在LUA里面有没有什么简便方法,直接拿到这个整数。
11 个解决方案
#1
用 标准库函数 string.sub (s, i [, j])
Lua 5.1 Reference Manual
http://www.lua.org/manual/5.1/manual.html#5.4
Returns the substring of s that starts at i and continues until j; i and j can be
negative. If j is absent, then it is assumed to be equal to -1 (which is the same as
the string length). In particular, the call string.sub(s,1,j) returns a prefix of s
with length j, and string.sub(s, -i) returns a suffix of s with length i.
Lua 5.1 Reference Manual
http://www.lua.org/manual/5.1/manual.html#5.4
#2
虽然看过一些,脚本语言一概不熟
但记得似乎lua中有个用户类型吧,Userdata?,可以定义struct,指针之类。而且这个类型是专门对C、C++接口语言的。
至于怎么弄还是楼主自己查吧,呵呵。
但记得似乎lua中有个用户类型吧,Userdata?,可以定义struct,指针之类。而且这个类型是专门对C、C++接口语言的。
至于怎么弄还是楼主自己查吧,呵呵。
#3
string
你去看看这个。
一直在用LUA。。。。。。。。。。
你去看看这个。
一直在用LUA。。。。。。。。。。
#4
其实还有一种方法,因为LUA本身可以和C进行交互,你可以把要处理的数据丢出来给C处理,C处理完成后,再把结果传给LUA。
#5
没用过lua,不知道有什么优势
#6
lua是个啥咚咚?
#7
好像不行,因为你的字符串已经是整数了(二进制表达),而不是整数的字符串表达。后者可以通过tonumber搞定,前者不知道怎么办,Lua有强转命令吗?
#8
string.byte (s [, i [, j]])
可能这个行。
可能这个行。
#9
目前我就用的这种方式把4个字符(字节)一个接一个的移位到整数变量里面去。
虽然是可以做,但总觉得做法不太官方啊。
所以来征集,看有咩有更简便的方法。
#10
这个函数只是拿子串,并不是这个的问题。
#11
#1
用 标准库函数 string.sub (s, i [, j])
Lua 5.1 Reference Manual
http://www.lua.org/manual/5.1/manual.html#5.4
Returns the substring of s that starts at i and continues until j; i and j can be
negative. If j is absent, then it is assumed to be equal to -1 (which is the same as
the string length). In particular, the call string.sub(s,1,j) returns a prefix of s
with length j, and string.sub(s, -i) returns a suffix of s with length i.
Lua 5.1 Reference Manual
http://www.lua.org/manual/5.1/manual.html#5.4
#2
虽然看过一些,脚本语言一概不熟
但记得似乎lua中有个用户类型吧,Userdata?,可以定义struct,指针之类。而且这个类型是专门对C、C++接口语言的。
至于怎么弄还是楼主自己查吧,呵呵。
但记得似乎lua中有个用户类型吧,Userdata?,可以定义struct,指针之类。而且这个类型是专门对C、C++接口语言的。
至于怎么弄还是楼主自己查吧,呵呵。
#3
string
你去看看这个。
一直在用LUA。。。。。。。。。。
你去看看这个。
一直在用LUA。。。。。。。。。。
#4
其实还有一种方法,因为LUA本身可以和C进行交互,你可以把要处理的数据丢出来给C处理,C处理完成后,再把结果传给LUA。
#5
没用过lua,不知道有什么优势
#6
lua是个啥咚咚?
#7
好像不行,因为你的字符串已经是整数了(二进制表达),而不是整数的字符串表达。后者可以通过tonumber搞定,前者不知道怎么办,Lua有强转命令吗?
#8
string.byte (s [, i [, j]])
可能这个行。
可能这个行。
#9
目前我就用的这种方式把4个字符(字节)一个接一个的移位到整数变量里面去。
虽然是可以做,但总觉得做法不太官方啊。
所以来征集,看有咩有更简便的方法。
#10
这个函数只是拿子串,并不是这个的问题。