RLP序列化算法
2024-10-09 17:54:53
RLP
RLP(Recursive Length Prefix)递归长度前缀编码,是由以太坊提出的序列化/反序列化标准,相比json格式体积更小,相比protobuf对多语言的支持更强。
RLP将数据分为两类:
- 字符串
- 列表(可以包含字符串和列表)
编码规则
- 字符串长度是1,并且值属于[0x00, 0x7f],那么其RLP编码就是字符串本身
- 字符串长度是0-55,那么RLP编码为前缀0x80+字符串长度,即[0x80, 0xb7],后面接字符串本身
- 字符串长度大于55,那么RLP编码为前缀0xb7+字符串长度的长度(最大8字节),即[0xb8, 0xbf],后接长度编码+字符串本身
- 列表长度是0-55,那么RLP编码为前缀0xc0+列表长度,即[0xc0, 0xf7],后接列表中各数据项的rlp编码
- 列表长度大于55,那么RLP编码为前缀0xf7+列表长度的长度(最大8字节),即[0xf8, 0xff],后接列表中各数据项rlp编码
最新文章
- Ubuntu 16.04 install 搜狗输入法
- ( [原创] 4s摄像头出现的问题及解决办法集锦。
- mysql性能监控相关
- MVC中用Jpaginate分页 So easy!(兼容ie家族)
- python中的reduce(转)
- 临时2级页表的初始化过程 head_32.S 相关代码解释
- Android 自学之滚动视图ScrollView
- php跨服务器信息获取之cURL
- UVa 474 - Heads / Tails Probability
- OS X EI Capitan 10.11 &; xcode 7.0 beta(7A120f) -- cocoapods安装失败
- 学习Spark——那些让你精疲力尽的坑
- .net 自动摘要等算法 HanLP.net
- Oracle的Recyclebin策略
- JAVA中的设计模式三(策略模式)
- Unity Editor 下创建Lua和Text文件
- Java日志框架-logback的介绍及配置使用方法(纯Java工程)(转)
- jq版本的checkbox有radio的单选效果(可得到value值)
- 【XMPP】XMPP类型
- mitmproxy 中间人攻击的小玩笑
- js数据结构之链表(单链表、双向链表、循环链表)