AMF解析(一)
来源:互联网 发布:云匠网 在线全职美工 编辑:程序博客网 时间:2024/06/14 13:11
AMF是AS中的一种数据格式,非常简洁,那为什么简洁呢,以前一直不清楚,看了AMF的数据格式后,才发现原来真的很简洁,数据量小。。呵呵,废话了这么多,下面我们来看下吧。
AMF一共有13种数据类型,每种类型都用一个字节来表示
undefined =
null
false
true
int
double
string
xml-doc
date
array
object
xml
byte-array=
以上类型一目了然,其实as中ByteArray.writeObject的时候,都是以AMF格式写入字节数组中,那么下面我们来逐个利用程序分析下吧,每种数据类型定义好后,都利用ByteArray.writObject写入数据,再输出。
undefined 就不说了,遇到不认识的类型,就0吧。
null:字节数组={1},很简单,null类型为1,所以后面不带任何东西。
false:字节数组={2},同上。
true:字节数组={3},同上。
int:这时候我们要真正开始讲AMF了,我们分别以10,100,1000来分析下。
1、var byteArray:ByteArray = new ByteArray();
每次都是以类型字节开始,4表示是int型。int最大占4个字节,超出后AMF就会以double类型发送。后续每个字节的最高位,表示下一字节是否有效。
{4,10},10转成二进制 = 0000 1010,由于最高位为0,所以后一字节无效,那么直接返回该int值为10
{4,206,16},206转成二进制 = 1100 1110,由于最高位为1,所以后一字节仍然有效,此时将1100 1110最高位置0并左移7位,变成0010 0111 0000 0000。再看16 = 00010 000,由于最高位为0,故下一字节无效,两字节做"|"运算0010 0111 0000 0000 | 00010 000便得出结果10000。
其他2个数依次类推大家自己算吧!
- AMF解析(一)
- AMF解析(一)
- AMF解析(二)
- AMF解析(三)
- AMF解析(二)
- AMF解析(三)
- AMF解析(四)
- amf的解析
- 常用AMF解析
- AMF
- AMf
- AMF
- 如何在Android中解析AMF
- 如何在Android中解析AMF
- AMF解析遇上XXE,BurpSuite也躺枪
- OpenRTMFP/Cumulus Primer(9)AMF解析之BinaryReader/Writer
- OpenRTMFP/Cumulus Primer(14)AMF解析之PacketReader/Writer
- OpenRTMFP/Cumulus Primer(15)AMF解析之数据类型定义
- 添加自定义proc项
- 鼠标键盘模拟操作类
- 对一道面试题的总结与扩展思考(关于一笔画问题的数学分析)
- gridview编辑模式限制textbox的字数
- InputStream,String,File相互转化
- AMF解析(一)
- ESC/POS命令集(转摘)
- android EditText里面嵌入两个按钮,通过按钮可以加减EditText里的数字,组合自定义控件。
- Js学习必备(1)
- SQL Server 常用函数
- [转载]c# 返回上一页 代码
- ubifs
- AMF解析(二)
- 记得挖井