2011-05-01 39 views
2

我有一些数字,使用可变长度代码在字节数组中编码。 其实它是GIF89a图像数据,我必须解码。从字节数组读取可变长度代码[c#]

由于用于GIF LZW压缩创建一系列的可变长度码,每个位3和12之间的,这些代码必须被重整成一系列的8位字节,这将是实际存储或发送的字符。这些代码被形成一个比特流,就好像它们是从右到左打包的一样,然后一次挑出8个比特来输出。 假设每字符8个比特的字符阵列和使用5位的代码是 包装,示例性布局将类似于:

 +---------------+ 
    0 |    | bbbaaaaa 
    +---------------+ 
    1 |    | dcccccbb 
    +---------------+ 
    2 |    | eeeedddd 
    +---------------+ 
    3 |    | ggfffffe 
    +---------------+ 
    4 |    | hhhhhggg 
    +---------------+ 
      . . . 
    +---------------+ 
    N |    | 
    +---------------+ 

我怎样才能将其转换为通用[EX。整数]格式使用C#。一些功能?

此外,我不明白如何识别 - 当这个数字的大小(以位为单位)增加(+1大小)?我只知道第一个号码的大小?

回答