文本和二进制混合存储

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

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

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

第一套方案的例子:
时间戳=[....],这是一段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。

相关推荐
让我们一起加油好吗3 小时前
【基础算法】初识搜索:递归型枚举与回溯剪枝
c++·算法·剪枝·回溯·洛谷·搜索
stbomei5 小时前
基于 MATLAB 的信号处理实战:滤波、傅里叶变换与频谱分析
算法·matlab·信号处理
2401_876221345 小时前
Reachability Query(Union-Find)
c++·算法
德先生&赛先生6 小时前
LeetCode-542. 01 矩阵
算法·leetcode·矩阵
HAH-HAH6 小时前
【洛谷】P2197【模板】Nim 游戏
算法·游戏
lichkingyang6 小时前
最近遇到的几个JVM问题
java·jvm·算法
feifeigo1237 小时前
matlab中随机森林算法的实现
算法·随机森林·matlab
躲着人群8 小时前
次短路&&P2865 [USACO06NOV] Roadblocks G题解
c语言·数据结构·c++·算法·dijkstra·次短路
心动啊1219 小时前
支持向量机
算法·机器学习·支持向量机
小欣加油9 小时前
leetcode 1493 删掉一个元素以后全为1的最长子数组
c++·算法·leetcode