lua 按拉分析与合成
-- 将数值分解成bytes_table
local function decompose_byte(data)
if not data then
return data
end local tb = {} if data == then
table.insert(tb, )
return tb
end local idx =
while data > do
table.insert(tb, math.mod(data, ))
data = math.floor(data/)
end return tb;
end -- 按位合成一个数值
local function synthesize_byte(bytes_table)
local data = ;
for i,v in ipairs(bytes_table) do
data = data + math.pow(, i - ) * bytes_table[i]
end return data
end -- 使用方法
local function show_bytes(t)
local str = ""
for i,v in ipairs(t) do
str = tostring(v) .. str;
end
print(str)
end local tb = decompose_byte()
show_bytes(tb);
print(synthesize_byte(tb)) local str = string.format("%c%c", , )
print(str, #str) tb = decompose_byte(string.byte(str, ))
show_bytes(tb)
print(synthesize_byte(tb)) tb = decompose_byte(string.byte(str, ))
show_bytes(tb)
print(synthesize_byte(tb))
lua 按拉分析与合成的更多相关文章
- java JAXB + STAX(是一种针对XML的流式拉分析API)读取xml
JDK1.5需要添加jar包,1.6以后就不需要了<dependency> <groupId>stax</groupId> <artifactId>st ...
- Wireshark使用drcom_2011.lua插件协助分析drcom协议
drcom_2011.lua是来源于Google code上的一个开源项目中的一个插件,感谢网络大神的分享 需要使用drcom_2011.lua分析drcom协议的话,需要把drcom_2011.lu ...
- lua 源码分析之线程对象lua_State
lua_State 中放的是 lua 虚拟机中的环境表.注册表.运行堆栈.虚拟机的上下文等数据. 从一个主线程(特指 lua 虚拟机中的线程,即 coroutine)中创建出来的新的 lua_Stat ...
- C与lua交互--lua调用栈分析(2)
0 预备知识: 至少对Lua手册C API有简单的了解.lua5.3手册中文 1 Lua虚拟机的栈,如图: 假设虚拟机的栈有n个数据: 解释: 两种解释方式: A,栈顶开始, -1 ...-n B, ...
- Lua源代码阅读分析问题列表(转)
最近正在阅读lua源码,遇到座灯塔,转载如下: 我个人的习惯是带着问题去研究一个新题目,比如这次阅读Lua代码,暂列下面这些问题. 1)什么是基于栈.基于寄存器的虚拟机(VM)设计?Lua如何实现基于 ...
- [转]lua元表代码分析
http://lin-style.iteye.com/blog/1012138 版本整理日期:2011/4/21 元表其实就是可以让你HOOK掉一些操作的一张表. 表的定义在ltm.h/c的文件里.对 ...
- lua源码分析 伪索引
Lua 提供了一个 注册表, 这是一个预定义出来的表, 可以用来保存任何 C 代码想保存的 Lua 值. 这个表可以用有效伪索引 LUA_REGISTRYINDEX 来定位. 任何 C 库都可以在这张 ...
- Lua内存分析工具
最近给公司写了一个lua内存分析工具,可以非常方便的分析出Lua内存泄露问题,有图形化界面操作,方便手机端上传快照等功能 内存分析我是在c语言端写的,也有人写过lua端的分析工具,也蛮好用的,不过lu ...
- Lua官方文档与源码分析
https://www.lua.org/source/5.3/ http://www.cppblog.com/airtrack/archive/2012/09/19/191233.html https ...
随机推荐
- ansible wc -l 对结果值取大小的操作
[root@localhost ansible]# cat zss.yml - hosts: zss tasks: - name: step1 ping: - name: step2 install ...
- 【异常】IOException parsing XML document from class path resource [xxx.xml]
1.IDEA导入项目运行出现异常 org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing ...
- js关于弹也遮罩层
1:什么是遮罩层 遮罩层:我是弹也一个(遮罩层)还有一个(内容层),下面上图片看一效果 我们看到一个灰蒙蒙的遮盖(其实也是一个层)还有一个层(也就是我们展示的内容). 2: 弹出层效果居中分析 在这 ...
- R语言 ggplot2 画平滑图
library(splines) library(ggplot2) dt1 <- structure(list(Age = structure(c(1L, 1L, 1L, 1L, 1L, 1L, ...
- lr11.0负载测试 real-world schedule 与basic schedule的区别是什么
real-world schedule 是真实场景模式 可以通过增加ACTION来增加多个用户 basic schedule 是我们以前用的 经典模式 只能设置一次负载的上升和下降
- Android Studio错误提示:Gradle project sync failed. Basic functionality (eg. editing, debugging) will not work properly
Android Studio中出现提示: Gradle project sync failed. Basic functionality (eg. editing, debugging) will n ...
- android SpannableString使用详解
/** * 超链接 */ private void addUrlSpan() { SpannableString spanString = new SpannableString("超链接& ...
- thinkphp 控制器继承
<?php // 本类由系统自动生成,仅供测试用途 class IndexAction extends CateAction { } ?>
- MBR:主引导记录:
下面内容严重参考:百度百科: Main Boot Record)是位于磁盘最前边的一段引导(Loader)代码.它负责磁盘操作系统(DOS)对磁盘进行读写时分区合法性的判别.分区引导信息的定位,它由磁 ...
- OpenGL基本框架与三维对象绘制
上次我们介绍了OpenGL的环境构建和二维对象的绘制,这次我们来讲讲三维对象的绘制: 绘制代码如下: Github代码仓库 // opengltest2.cpp : Defines the entry ...