社区
其它技术问题
帖子详情
求算法:序列化时的压缩办法
czstemp
2011-07-11 02:10:38
我要把为了把一些int型数据序列化成string后储存。
如果用stringStream,或atoi等函数,序列化后的数据大增,比如int 100000000本来只有4字节,
变成字符串后要10字节,太浪费了。
如果直接内存拷贝,又怕int中有连续的八个二进制00000000,等效于字符串终止符。
有没有快速的编码方法把一段内存变成askii字符?
...全文
319
9
打赏
收藏
求算法:序列化时的压缩办法
我要把为了把一些int型数据序列化成string后储存。 如果用stringStream,或atoi等函数,序列化后的数据大增,比如int 100000000本来只有4字节, 变成字符串后要10字节,太浪费了。 如果直接内存拷贝,又怕int中有连续的八个二进制00000000,等效于字符串终止符。 有没有快速的编码方法把一段内存变成askii字符?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jackyjkchen
2011-07-11
打赏
举报
回复
我没用过,不是我们用过,一字之差,差之千里
jackyjkchen
2011-07-11
打赏
举报
回复
[Quote=引用 6 楼 czstemp 的回复:]
其实是用mongoDB存储,不知jackyjkchen大侠用过没,如果string中有\0
c_str()会不会错?
另外,我对mongoDB的二进制数据存储不太了解,好像是存文件,估计性能不好
[/Quote]
string可以存二进制数据的,c_str只是个内置类型指针,给你个起始地址,你想延长到哪里全看你自己的逻辑,注意别用strcpy、strlen这样专门处理字符串的函数就可以。
一般数据库都支持二进制存取,我们用过mongoDB,你可以试一下,应该可以。
反正还有base64方案备用,这个是专门用来序列化二进制数据的
ouyh12345
2011-07-11
打赏
举报
回复
string里可以有0的
czstemp
2011-07-11
打赏
举报
回复
其实是用mongoDB存储,不知jackyjkchen大侠用过没,如果string中有\0
c_str()会不会错?
另外,我对mongoDB的二进制数据存储不太了解,好像是存文件,估计性能不好
jackyjkchen
2011-07-11
打赏
举报
回复
你的存储是说“写文件”?
那就更简单了,连内存拷贝都不用的
直接去写int的地址就行了,别忘了用二进制方式或者windows api
luciferisnotsatan
2011-07-11
打赏
举报
回复
???
用二进制打开文件,写入不就行了。
读取时你也用二进制来读。
jackyjkchen
2011-07-11
打赏
举报
回复
阶段==截断
jackyjkchen
2011-07-11
打赏
举报
回复
而且,直接内存拷贝有什么不可以?
如果只是网络传输的话,socket是不会阶段的,你直接用unsigned char*存储就是了。
即便用string,也没问题,别用+=,用append,强制指定长度
jackyjkchen
2011-07-11
打赏
举报
回复
base64编码,长度*4/3,增加不多,电子邮件就这样做的
fastjson的jar包 绿色版
阿里巴巴公司研发的fastjson1.2.2的jar包 以及源码包
C#常用类库(100多个)
包含文件、网络、http、多线程、控件、office、IO、JSON、
压缩
文件、文本字符串、正则表达式、HTML、邮件、系统、数据库、加密解密等操作类
类似QQ的全套聊天系统[极品] 源码
类似QQ的全套聊天系统[极品] 源码
序列化
与
压缩
序列化
与
压缩
1.
序列化
的基本概念 2. 数据
压缩
的原理 3.
序列化
与
压缩
a.
序列化
的意义: i. 编写程序写文件A,另一个程序读取文件A ii. 进程通信
时
传输的数据 1) 基本数据类型实例:int,long,double等数值 2) 用户自定义类的实例:对象 iii. 如何完成进程间的对象传送? 1) a) C c = new C(x,x,x...
LZW
压缩
算法
:实现高效文件
压缩
技术
本文还有配套的精品资源,点击获取 简介:LZW(Lempel-Ziv-Welch)
压缩
算法
是一种广泛应用于多种数据类型的
压缩
方法。该
算法
通过构建和更新字典,有效地查找并编码重复模式来
压缩
数据。本文详细解释了LZW的工作原理,包括字典构建、编码过程、字典更新、分块处理、解
压缩
机制以及优化策略。同
时
,探讨了LZW在图像和图形格式中的应用,并指出了编程实现的关键点和版权问题。通过...
其它技术问题
3,882
社区成员
9,045
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章