如何在c++中将不对齐的数据写入二进制流
How to write non aligned data to a binary stream in c++
为了减少网络上的数据大小,我只想向网络写入足够的位,这些位可以保存值。例如,如果40位可以保存该值,那么我想向流写入40位,而不是64位。或者,如果值可以存储在3位中,我只想向二进制流写入3位,而不是8位,其中5位为0。
我的问题是如何用C++将不对齐的数据写入二进制流?
流使用字节,而不是比特,因此您必须使用8比特的倍数。您可以向流写入40位,因为这正好是5个字节。
您正在发明自己的压缩方案,几乎肯定会比专家做得更糟。
你的网络可能也已经在进行压缩,所以你可能正在做已经在做的工作。
你的问题非常缺乏细节,无法得到更好的答案。
相关文章:
- 如何从dicom文件中读取二进制数据
- 如何在Qt中从数据库中检索二进制数据?
- 如何使用位字段将数据从二进制文件复制到结构中?
- readsome() 适合在 Windows 上读取二进制数据吗?
- 如何使用 redis-plus-plus 存储二进制数据,就像我想存储结构一样?@for_stack?
- 在CRC-16 CCITT中将数据从二进制解码为文本,我应该输入一个码字,使用CRC生成器进行编码
- 将包含二进制数据的 QByteArray 传递到按值运行
- C++ 尝试优化每一帧将数据打印到二进制文件
- 如何在 c++ 中生成十六进制二进制数据的 sha256 哈希?
- 在处理网络、二进制数据和序列化时应使用流或容器
- 我能确定从文件中读取的 32 字节二进制数据等于 256 位吗?
- C++:如何通过 curl 调用使用 HTTP post 请求发送二进制数据(protobuf 数据)
- 使用二进制数据更新 PostgreSQL 表
- 在打印方法中,难以在二进制树中打印数据
- 使用二进制数据和无符号字符
- sd_journal_send发送二进制数据.如何使用日志检索数据?
- 从带有 std::ifstream::read() 的文件中读取 int 遍历 char * 二进制数据
- 将文本和二进制数据连接到一个文件中
- 二进制模式 + 格式化文本操作或文本模式 + 二进制数据操作 - 有意义吗?
- 如何仅使用 std::filebuf 将数据(二进制模式)写入文件