encoding – Lua,处理非ascii字节流,字节顺序改变
发布时间:2020-12-14 21:48:46 所属栏目:大数据 来源:网络整理
导读:需要编码解码字节流(可能包含非ascii字符),从/进入uint16,uint32,uint64(它们的典型C/C++含义),处理字节顺序.什么是有效的希望跨平台的方式在Lua做这样的事情? 我的目标arch是64位x86_64,但是想保持它的可移植性(如果它在性能方面没有花费我的成本). 例如
需要编码&解码字节流(可能包含非ascii字符),从/进入uint16,uint32,uint64(它们的典型C/C++含义),处理字节顺序.什么是有效的&希望跨平台的方式在Lua做这样的事情?
我的目标arch是64位x86_64,但是想保持它的可移植性(如果它在性能方面没有花费我的成本). 例如 解码(比如当前在Lua字符串中) – 如果有人可以用一个例子解释,那将会很棒. 解决方法
看一下
struct和
lpack图书馆.
在这个例子中,我使用struct.unpack将Lua字符串解码为带有强制little-endian编码的两个整数: require 'struct' -- convert character codes to a Lua string - this may come from your source local str = string.char(0x00,0x32) -- format string: < = little endian,In = unsigned int (n bytes) local u16,u32 = struct.unpack('<I2I4',str) print(u16,u32) --> 7424 843326463 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |