我通过从整数数据中删除前导零来压缩一个char数组,然后将它们紧紧地打包(不用逐位的空格)。我希望将其解压缩以获取原始数据。数据为8位,可以有0到8之间的任意数量的零。由于通信速度不可靠,我不能超过存储标志的8位限制,也不能发送另一串数据。我在C中工作并通过计算它们并移动来移除零。
答案 0 :(得分:1)
很好的尝试,只需要很少的修正。您必须存储一个标记,该标记将为您提供原始值的长度,以便您可以将其解压缩。当然,月球下没有什么新东西可以重复使用 VarInt 这样的东西:
https://developers.google.com/protocol-buffers/docs/encoding#varints
它的广泛实践,并得到广泛语言的许多图书馆的支持