我正在尋找一種方法來有效地將比特插入到比特流中,並使它'溢出',填充0。例如,如果你有一個2字節的字節數組:231和109(11100111 01101101),並且做了BitInsert(byteArray,4,00),它會在位偏移4處插入兩位,使11100001 11011011 01000000(225,219 ,24)。即使該方法只允許1位插入,例如BitInsert(byteArray,4,true)或BitInsert(byteArray,4,false),但該方法必須與比特流長度無關(該流可能跨越幾百字節值)。插入比特流
我做這件事的一種方法,但它必須走與位位掩碼位流,所以我不知道如果有一個簡單的方法......在裝配
答案或C衍生物將不勝感激。
編輯:特定用例是一種編碼方案的實現,它一次讀取6位字節數組,並將它們(用2位填充)編碼爲單個字節。所以每6位,你插入2位。 {33,66,99}這是一個比特流是 001000010100001001100011變得 00001000000101000000100100100011通知插件爲XX: xx001000xx010100xx001001xx100011
我希望換一種方式來做到這一點沒有位行走... (另外如果有人知道這個編碼方案的正式名稱,這將是有益的,因爲我還沒有識別它...當將舊的C程序移植到C#時出現)
http://www.codeproject.com/Articles/12261/A-BitStream-Class-for-the-NET-Framework – 2012-10-02 18:13:17