文本和二进制混合存储

要想让文本和二进制混合存储,有两套方案:

①以文本为主,插入二进制数据

②以二进制为主,区分文本和二进制数据段

第一套方案的例子:
时间戳=[....],这是一段64位二进制数据。

在这句话中,以二进制形式储存时间戳,紧凑。

对UTF-8编码进行修改,得到能够混合存储的编码。
0×××××××,UTF-8一字节模式
110××××× 10××××××,UTF-8双字节模式
1110×××× 10×××××× 10××××××,UTF-8三字节模式
11110××× 10×××××× 10×××××× 10××××××,UTF-8四字节模式

以上是字符模式。
111110×× ×××××××× [data],立即数模式

10个×能表达[0, 1K),将它加一,能表达[1, 1K]的范围。在立即数模式下,用2字节记录长度len-1,再写下长度为len的data。data最长为1KB。
111111××,这里还有4个码位,保留。

既然设计为保存1KB数据,这套方案可以命名为UTF-8_1KB。

相关推荐
u01040583613 小时前
京东返利app的分布式ID生成策略:雪花算法在订单系统中的实践
分布式·算法
lingran__14 小时前
速通ACM省铜第三天 赋源码(Double Perspective和Trip Shopping和Hamiiid, Haaamid... Hamid?)
c++·算法
凤城老人14 小时前
C++使用拉玛努金公式计算π的值
开发语言·c++·算法
纪元A梦17 小时前
贪心算法应用:配送路径优化问题详解
算法·贪心算法
C_player_00118 小时前
——贪心算法——
c++·算法·贪心算法
kyle~19 小时前
排序---插入排序(Insertion Sort)
c语言·数据结构·c++·算法·排序算法
Boop_wu19 小时前
[数据结构] 队列 (Queue)
java·jvm·算法
hn小菜鸡20 小时前
LeetCode 3643.垂直翻转子矩阵
算法·leetcode·矩阵
ゞ 正在缓冲99%…21 小时前
leetcode101.对称二叉树
算法
YuTaoShao21 小时前
【LeetCode 每日一题】3000. 对角线最长的矩形的面积
算法·leetcode·职场和发展