RLP序列化演算法

2022-09-15 07:39:13 字數 468 閱讀 8474

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編碼

序列化(序列化)

原書上翻譯為序列化,msdn翻譯為序列化 作用 當需要儲存,或者網路傳輸 remoting時,資料 物件或值 需要序列化 類似於打包傳輸檔案。system.serializableattribute 序列化是指儲存和獲取磁碟檔案 記憶體或其他地方中的物件。在序列化時,所有的例項資料都儲存到儲存介質上...

序列化(模型序列化 序列化巢狀)

from rest framework import serializers from meituan.models import merchant,class merchantserializer serializers.modelserializer class meta model merch...

序列化和解序列化

serialize 返回乙個字串,包含著可以儲存於 php 的任何值的位元組流表示。unserialize 可以用此字串來重建原始的變數值。用序列化來儲存物件可以儲存物件中的所有變數。物件中的函式不會被儲存,只有類的名稱。要能夠unserialize 乙個物件,需要定義該物件的類。也就是,如果序列化...