2011-05-01 41 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大小)?我只知道第一個號碼的大小?

回答