16进制数据能不能压缩下,该怎么处理

16进制数据能不能压缩下

  我 发送同步命令上传文件
服务端---------------------------------->设备

如图所示
1.不考虑多线程
2.不考虑改变设计(如使用tftp上传),只能用同步命令
3.每条命令最大只能256字符,文件大约100---521K

现在想考虑下怎么将16进制这种数据能不能压缩或别的方法能在3分钟内传完521K文件,现在最好记录是14K用了25秒,每条同步命令要用去218毫秒,这好像是没办法优化的,所以想着怎么压缩数据减少循环来减少时间的方法

备注:16进制对服务端来说是以字符串的形式存储于数据库的,所以对服务端来说无所谓什么进制
设备接收完全部字符会把它转换为二进制的bin文件使用
for(...)
{
  发送同命令(文件256字符内容);
}
请赐教!!

------解决方案--------------------
呃,用zlib压缩一下 数据吧,不过这个结果不是很稳定
------解决方案--------------------
呃……没看懂……是要压缩传输,还是要压缩储存?
------解决方案--------------------
找个压缩算法吧
------解决方案--------------------
调用lzma sdk,论压缩率这个最高了
------解决方案--------------------
你是说在同步之前,先压缩数据?

------解决方案--------------------
7z, 开源的压缩软件。
------解决方案--------------------
用 zlib 吧,自己写太累了
------解决方案--------------------
找个开源的代码,或者DLL库