社区
其它技术问题
帖子详情
求算法:序列化时的压缩办法
czstemp
2011-07-11 02:10:38
我要把为了把一些int型数据序列化成string后储存。
如果用stringStream,或atoi等函数,序列化后的数据大增,比如int 100000000本来只有4字节,
变成字符串后要10字节,太浪费了。
如果直接内存拷贝,又怕int中有连续的八个二进制00000000,等效于字符串终止符。
有没有快速的编码方法把一段内存变成askii字符?
...全文
362
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,增加不多,电子邮件就这样做的
Resque任务
序列化
压缩
算法
:性能与
压缩
率对比
在高并发的后台任务处理场景中,任务的
序列化
和
压缩
直接影响系统的响应速度和资源占用。Resque作为基于Redis的Ruby后台任务库,其默认
序列化
机制是否满足你的性能需
求
?本文将深入分析Resque的
序列化
实现,对比不同
压缩
算法
的性能表现,并提供优化方案。 ##
序列化
基础:Resque的默认实现 Resque使用JSON作为默认的任务
序列化
格式,通过MultiJson库处理具体的编解码操作。...
序列化
与
压缩
序列化
与
压缩
1.
序列化
的基本概念 2. 数据
压缩
的原理 3.
序列化
与
压缩
a.
序列化
的意义: i. 编写程序写文件A,另一个程序读取文件A ii. 进程通信
时
传输的数据 1) 基本数据类型实例:int,long,double等数值 2) 用户自定义类的实例:对象 iii. 如何完成进程间的对象传送? 1) a) C c = new C(x,x,x...
序列化
、
压缩
、及Linux 打包
序列化
序列化
将对象变成一串字节流
序列化
可以理解为对象级别的
压缩
方式 不用
序列化
能否保存磁盘上? 可以,但是你要将对象中一个个的基本属性进行写入操作,比如int之流, 当然, 按你自己希望的顺序,规则.
序列化
和持久化之间的关系
序列化
过程是持久化的一种方式,当然Java中你可以选择适当的方式编码(utf-8)。
序列化
和
压缩
的目的...
序列化
和
压缩
hadoop需要处理P、T级别的数据,所以在org.apache.hadoop.io中包含一些面向海量数据处理的基本工具。 1、
序列化
对象的
序列化
(Serialization)用于将对象编码成一个字节流,以及从字节流中重新构建一个对象。相反的,处理过程称为反
序列化
(Deserializing)
序列化
有三种主要的用途: 作为一种持久化格式,一个对象被
序列化
后,他的编码可以被存储在磁盘上,供以后反
序列化
使用 作为一种通信数据格式:
序列化
结果可以从一个虚拟机通过网络传到另一个虚拟机上 作为一种拷贝,克隆
GRPC
压缩
算法
这个 RPC 基础设施具有标准化、可通用和跨平台的特点,旨在提供类似 Stubby 的可扩展性、性能和功能,但它主要面向社区。gRPC+提供了多种
压缩
算法
,以满足不同的需
求
和环境。使用较小的数据尺寸传输需要的带宽更少,这意味着可以减少使用的网络资源和相关费用。Stubby有许多很棒的特性,但无法标准化为业界通用的框架,这是因为它与谷歌内部的基础设施耦合得过于紧密。长期以来,谷歌有一个名为 Stubby 的通用 RPC 框架,用来连接成千上万的微服务,这些微服务跨多个数据中心并且使用完全不同的技术来构建。
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章