求对 构造体 固定压缩率 的算法
求对 结构体 固定压缩率 的算法
大家好,我定义一个结构体
TMyrecord = packed record
mhByte1: Byte;
mhByte2: Byte;
mhByte3: Byte;
mhArryData: array[0..1, 0..256 - 1] of Byte;
mhArryOtherData: array[0..1, 0..128 - 1] of Byte;
mhSmallint1: Smallint;
mhSmallint2: Smallint;
mhTime: TDateTime;
mhmhSmallint3: Smallint;
end;
我客户端要在Internet上用TCP/IP协议每秒实时传输这样一个结构体,我想要一种压缩后能生成固定大小的压缩后的数据buffer数组,然后我定长发送,服务器端接收定长的压缩数据解压还原。
我找了些算法,不是用流,就是经常create,free指针,生成的压缩数据还是不定长的,这样我每次传输还得发一个压缩后的长度,请教有固定压缩率的算法吗?即压缩这样一个结构体后长度一样,保证我定长发送,而且最好不要经常创建,释放内存的,定义成静态内存的为好。谢谢大家了,有差不多的就行。或给我些建议。
------解决方案--------------------
------解决方案--------------------
多浪费2个字节,变长好了
------解决方案--------------------
结构体你也想固定压缩率?你打算有损传输结构体数据吗?
大家好,我定义一个结构体
TMyrecord = packed record
mhByte1: Byte;
mhByte2: Byte;
mhByte3: Byte;
mhArryData: array[0..1, 0..256 - 1] of Byte;
mhArryOtherData: array[0..1, 0..128 - 1] of Byte;
mhSmallint1: Smallint;
mhSmallint2: Smallint;
mhTime: TDateTime;
mhmhSmallint3: Smallint;
end;
我客户端要在Internet上用TCP/IP协议每秒实时传输这样一个结构体,我想要一种压缩后能生成固定大小的压缩后的数据buffer数组,然后我定长发送,服务器端接收定长的压缩数据解压还原。
我找了些算法,不是用流,就是经常create,free指针,生成的压缩数据还是不定长的,这样我每次传输还得发一个压缩后的长度,请教有固定压缩率的算法吗?即压缩这样一个结构体后长度一样,保证我定长发送,而且最好不要经常创建,释放内存的,定义成静态内存的为好。谢谢大家了,有差不多的就行。或给我些建议。
------解决方案--------------------
------解决方案--------------------
多浪费2个字节,变长好了
------解决方案--------------------
结构体你也想固定压缩率?你打算有损传输结构体数据吗?