|
|
1
8
最简单的方法是把每个数字当作一个比特来处理。每组8位可以存储在一个字节中。然后可以将其作为字节流发送。您还需要存储原始字符串的长度,以便可以区分“0”和“00”。 下面是一种将字符串转换为字节数组的方法:
反转操作非常相似。 base 64 encode 结果字节数组。
|
|
2
2
|
|
|
3
1
|
|
|
4
1
或工具 Run length encoding Huffman coding . 两者都很容易实现。RLE是目前为止最简单的,但在大多数情况下会有更差的压缩比。如果您的数据通常有许多相同值的连续字符,那么它仍然可以提供实质性的改进。 |
|
|
5
0
安倍·米斯勒的回答很好,但评论中提到了警告。
这两种方法都有丢弃任何前导零的问题,因此您还需要存储原始长度。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |