Encoding 高效编码方案

Encoding 高效编码方案,encoding,hardware,Encoding,Hardware,我想为数据存储选择一种编码方案。我的可用内存非常少。哪种编码应该是最佳利用可用空间的编码。 ANSI、UTF或任何其他 数据是大写字母如果你知道字母的频率分布,它是复杂性、速度和效率之间的良好平衡 如果你不知道字母的分布或者它们是随机的,一次只存储5位。例如,考虑字符串“ABCDE”。字母数字是0,1,2,3,4。转换为二进制,这是: 00000 00001 00010 00011 00100 现在您只需将每8位分组为字节: 00000000 01000100 00110010 0xxxxxx

我想为数据存储选择一种编码方案。我的可用内存非常少。哪种编码应该是最佳利用可用空间的编码。 ANSI、UTF或任何其他


数据是大写字母

如果你知道字母的频率分布,它是复杂性、速度和效率之间的良好平衡

如果你不知道字母的分布或者它们是随机的,一次只存储5位。例如,考虑字符串“ABCDE”。字母数字是0,1,2,3,4。转换为二进制,这是:

00000 00001 00010 00011 00100
现在您只需将每8位分组为字节:

00000000 01000100 00110010 0xxxxxxx
您还需要存储长度,以便知道最后一个字节的7位中没有有用的数据


如果不考虑代码空间,您只想尽可能地压缩字符串,您可以使用哈夫曼编码或算术编码,即使频率分布均匀,也可以将每个字符平均压缩为log2(26)位,即略小于5(即4.7位)。

,将存储什么?字母字符A-Z如果您只需要英文字母表中的大写字母,您是否考虑过使用5位字符集?@RowlandShaw不,我不使用5位字符。请给我解释一下