【发布时间】:2011-05-01 09:06:48
【问题描述】:
我有一些数字,使用可变长度代码在字节数组中编码。 实际上是GIF89a图像数据,我必须解码。
由于用于 GIF 的 LZW 压缩创建了一系列可变长度代码,每个代码在 3 到 12 位之间,因此这些代码必须重新转换为一系列 8 位字节,这些字节将成为实际存储或传输的字符。这些代码形成一个比特流,就好像它们从右到左打包,然后一次取出 8 个比特进行输出。 假设每个字符 8 位的字符数组并使用 5 位代码 打包,示例布局类似于:
+---------------+
0 | | bbbaaaaa
+---------------+
1 | | dcccccbb
+---------------+
2 | | eeeedddd
+---------------+
3 | | ggfffffe
+---------------+
4 | | hhhhhggg
+---------------+
. . .
+---------------+
N | |
+---------------+
我如何将其转换为常见的 [例如。整数]格式使用c#。一些功能?
另外,我不明白如何识别 - 当这个数字的大小(以位为单位)增加(+1 到大小)?我只知道第一个数字的大小?
【问题讨论】: