我需要通过网络传输整数数据类型,但不希望一直传输所有32位(或64位) - 数据仅适用于99%的时间 - 因此看起来需要压缩它以某种方式:例如,如果其他7位仅表示某个值(0-127),则字节的第一位为0,否则(如果第一个字节为1)则需要将这7个字节向左移位并读取第二个字节以执行相同操作过程
有没有一些常见的方法可以做到这一点?我不想重新发明轮子......
谢谢。
答案 0 :(得分:4)
您描述的方案(基本上是一个基本的128位编码:每个字节是一个7位基数-128“数字”和一个位标志,用于指示它是否是最后一位数)是这是一种常见的做法。
例如,请参阅:
答案 1 :(得分:0)
几乎任何数据压缩算法都能够很好地压缩这种数据流。使用您的语言提供的任何压缩库。