![]() |
1
8
最简单的方法是把每个数字当作一个比特来处理。每组8位可以存储在一个字节中。然后可以将其作为字节流发送。您还需要存储原始字符串的长度,以便可以区分“0”和“00”。 下面是一种将字符串转换为字节数组的方法:
反转操作非常相似。 base 64 encode 结果字节数组。
|
![]() |
2
2
|
![]() |
3
1
|
![]() |
4
1
或工具 Run length encoding Huffman coding . 两者都很容易实现。RLE是目前为止最简单的,但在大多数情况下会有更差的压缩比。如果您的数据通常有许多相同值的连续字符,那么它仍然可以提供实质性的改进。 |
![]() |
5
0
安倍·米斯勒的回答很好,但评论中提到了警告。
这两种方法都有丢弃任何前导零的问题,因此您还需要存储原始长度。 |
![]() |
Bfyuvf · 直接输入二进制可能的C++[重复] 3 年前 |
![]() |
Mohammed Hashayka · 二进制/CRC分割余数 7 年前 |
![]() |
Daniel · 如何以二进制流格式解析OpenFoam多边形网格? 7 年前 |
|
Reddy90 · 计算二进制表示形式正好需要数字1的数字 7 年前 |