Skip to content

A .NET library designed to ease working with bit packing protocols or systems.

License

Notifications You must be signed in to change notification settings

LazyBui/BitPackerTools

Repository files navigation

BitPackerTools

A .NET library designed to work with streams that are bit packed.

Bit packing is the practice of occupying minimum space in a stream (for example, perhaps a network stream) by reducing a value to the maximum number of bits that it may use.

For example, if you have 3 separate values, the lowest amount of space you can take is 3 bytes. But perhaps you have high level information about these values such that you know that 2 of them have a maximum value of 7 and the third has a maximum value of 3. This means that you can use a single byte to represent all 3 values.

Make no mistake that this is much slower in terms of CPU time than just using bytes or any other kind of value. However, from time to time, you may be interacting with a legacy system or protocol that requires this type of functionality and .NET provides no good solution for this. You must write your own.

This library seeks to mimic the serialization interface of other classes, such as XmlSerializer in System.Xml.Serialization and provide similar facilities for control over de/serialization.

About

A .NET library designed to ease working with bit packing protocols or systems.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages