FormatString
简介
比特( bit)是二进制单位( binary unit)或二进制数字(binary digit)的缩写,pack 库支持将一系列数据按照格式字符转化为 lua 字符串或者将 lua 字符串按照格式字符转化成一系列值,utf8、 ucs2、 gb2312编码是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求:以上都是常见的数据格式。需要进行运算、转换等格式化处理。
API说明
- bit
API接口 | 描述 |
---|---|
bit.bit() | 左移运算,等价于C语言中的1 << position |
bit.isset() | 测试位数是否被置1 |
bit.isclear() | 位数是否被置0 |
bit.set() | 置1 |
bit.clear() | 置0 |
bit.bnot() | 取反 |
bit.band() | 与 |
bit.bor() | 或 |
bit.bxor() | 异或 |
bit.lshift() | 左移 |
bit.rshift() | 右移 |
bit.arshift() | 算数右移 |
详细的API介绍见bit API章节
- 扩展库pack
API接口 | 描述 |
---|---|
pack.pack() | 打包字符串的值,在pack的时候有符号 无符号的输出结果都是一样的 unpack时有符号跟无符号才有区别 |
pack.unpack() | 解包字符串 |
详细的API介绍见pack API章节
- 编码格式转换库
API接口 | 描述 |
---|---|
common.ucs2ToGb2312(ucs2s) | unicode小端编码 转化为 gb2312编码 |
common.gb2312ToUcs2(gb2312s) | gb2312编码 转化为 unicode小端编码 |
common.ucs2beToGb2312(ucs2s) | unicode大端编码 转化为 gb2312编码 |
common.gb2312ToUcs2be(gb2312s) | gb2312编码 转化为 unicode大端编码 |
common.ucs2ToUtf8(ucs2s) | unicode小端编码 转化为 utf8编码 |
common.utf8ToUcs2(utf8s) | utf8编码 转化为 unicode小端编码 |
详细的API介绍见common API章节
实现流程
调用相应接口。
示例
常见问题
1、字符串打印为空。原因是字符串里有不可见字符比如“空字符(Null)”,解决方式toHex()后打印。