Yjs varint encoding:修订间差异
无编辑摘要 |
无编辑摘要 |
||
第10行: | 第10行: | ||
-> 0xc0 | 0xc4 | 0x07 | -> 0xc0 | 0xc4 | 0x07 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
The first bit indicates that whether there's a continuous byte, | |||
if it's 0, then the number is finished. | |||
[[Category:Yjs]] | [[Category:Yjs]] | ||
[[Category:CRDT]] | [[Category:CRDT]] |
2024年10月13日 (日) 13:47的版本
Yjs uses varint to encode content, which is similar in protobuf. Yjs encodes unsigned integer within range of 0-2^53-1, which is the max number supported by javascript[2].
123456=0b111|1000100|1000000
->(1)1000000|(1)1000100|(0)____111
-> 0xc0 | 0xc4 | 0x07
The first bit indicates that whether there's a continuous byte, if it's 0, then the number is finished.