c# - 使用 C# 管理位压缩数据

标签 c# bit-manipulation bit-packing

我正在开发一个基于 TCP 的应用程序,该应用程序处理位打包消息,这意味着:传输/接收的消息不是字节对齐的。例如,3 位表示字段 1,其中 19 位可能表示字段 2。我的问题是,有人知道 C# 库可以采用一组字节并在这些字节中设置/获取任意范围的位吗?我已经在 C/C++ 中看到并创建了类似的实用程序,但我需要一个 100% C# 解决方案,我不想再次重新发明轮子。

我看过 BitArray 类,但它不允许引用任意范围的位。

最佳答案

查看 this CodeProject solution - 它是一个可从 C# 调用的开源托管 BitStream 类。

关于c# - 使用 C# 管理位压缩数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1145185/

相关文章:

python - 如何检查字节流中是否只有连续的1和0

仅使用按位运算计算设置的位数

c - 如何使用 char 数组将位字段打包为短整数?

c# - 释放文件锁时收到通知

c# - 在通用应用程序中使用 POST 方法发送登录数据

c# - 'Emgu.CV.CvInvoke 在使用 emgu 进行人脸识别测试时出错

Python:设置位数 (popcount)

c# - 使用指定为 "utf-16"的编码解析 xml 时出现 XmlException

java - 使用按位运算符将多个值打包到一个 int 中