MessagePack 序列化格式

MessagePack 是一种有效的二进制序列化格式。与JSON一样可以在多语言中转换数据,但对比JSON,速度更快,转换后数据更小。

安装

1.下载msgpack,下载地址:点击下载

返回栏目页:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/script/

2.编译安装

/usr/bin/phpize (phpize的路径)
./configure
make && make install

3.在php.ini 中加入

extension = "msgpack.so"  

例子:encode 与 decode

<?php
$data = array('name'=>'fdipzone','gender'=>'man');
$msg = msgpack_pack($data);      // encode
$newdata = msgpack_unpack($msg); // decode
print_r($newdata);
?>

例子:比较与JSON的大小

<?php
$data = array('name'=>'fdipzone','gender'=>'man');
$msg = msgpack_pack($data);
$msg_json = json_encode($data);
echo 'msgpack: '.strlen($msg).'<br>'; // 26
echo 'JSON: '.strlen($msg_json);      // 34
?>

作者:csdn博客 傲雪星枫

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索json
, 数据
, 格式
, 例子
, phpize
MessagePack
messagepack、messagepack java、messagepack protobuf、netty messagepack、messagepack c,以便于您获取更多的相关知识。

时间: 2024-08-01 13:21:48

MessagePack 序列化格式的相关文章

SuperPack——实现更小负载的新序列化格式

Shape Security开源了一个新的无模式二进制序列化格式,名为SuperPack. SuperPack使用了二进制的序列化模式,这意味着会减少负载的大小.按照Shape Security的说法,对于一个给定的4.48 KB的样例信息,相对于多个其他的无模式格式,SuperPack的负载是最小的: YAML和BSON非常冗长,会增加消息的负载.JSON比YAML要好得多,但是因为它基于文本编码格式,所以它的大小依然会远远超过SuperPack.在gzip压缩之后,它们的值会出现比较大的差异

MessagePack, Protocol Buffers和Thrift序列化框架原理和比较说明

第1部分 messagepack说明 1.1messagepack的消息编码说明 为什么messagepack比json序列化使用的字节流更少, 可通过图1-1.图1-2有个直观的感觉.   图1- 1 messagepack与json的格式对比1 图1- 2 messagepack与json的格式对比2 messagepack的具体的消息格式如图1-3所示,messagepack的数据类型主要分类两类:固定长度类型和可变长度类型.   图1- 3 messagepack的消息格式 messag

PHP 序列化(serialize)格式详解

详解 由 andot 写的非常经典介绍PHP序列化的文章,原文来自: http://www.coolcode.cn/?p=170 1.前言PHP (从 PHP 3.05 开始)为保存对象提供了一组序列化和反序列化的函数:serialize.unserialize.不过在 PHP 手册中对这两个函数的说明仅限于如何使用,而对序列化结果的格式却没做任何说明.因此,这对在其他语言中实现 PHP 方式的序列化来说,就比较麻烦了.虽然以前也搜集了一些其他语言实现的 PHP 序列化的程序,不过这些实现都不完

probuf 自定义协议-socket 自定义协议 probuf messagepack

问题描述 socket 自定义协议 probuf messagepack 各位大神,我现在要写Socket自定义协议 跟服务器交互,要通过probuff 或者 messagepack 序列化.能不能提供C# 或者c/c++ 的代码解释一下.数据包 = 包头 + 包体长度+包体.谢谢各位大神! 解决方案 这个一般是将你要发送的消息内容进行序列化得到protobuf data,再讲序列化后的data和消息类型名称一起发送服务端,服务端利用protobuf自带的发射机制 解析生成消息对象,再把prot

hadoop详解(十) 序列化与Writable接口

简介 序列化和反序列化就是结构化对象和字节流之间的转换,主要用在内部进程的通讯和持久化存储方 面. 通讯格式需求 hadoop在节点间的内部通讯使用的是RPC,RPC协议把消息翻译成二进制字节流发 送到远程节点,远程节点再通过反序列化把二进制流转成原始的信息.RPC的序列化需要实现以下几点: 1. 压缩,可以起到压缩的效果,占用的宽带资源要小. 2.快速,内部进程为分布式系统构建了高速链路,因 此在序列化和反序列化间必须是快速的,不能让传输速度成为瓶颈. 3.可扩展的,新的服务端为新的客户 端增

Effective C#原则25 让你的类型支持序列化

对象的持久是类型的一个核心功能.这是一个在你忽略对它的支持以前,没 有人会注意到的基本元素之一. 如果你的类型不能恰当的支持序列化,那么对 于把你类的做为基类或者成员的开发人员来说,你会给他们增加很多的工作量. 当你的类型不支持序列化时,他们不得不围绕这工作,自己添加实现这个标准的 功能.而对于不能访问类的私有成员的开发人来说,恰当的实现你的类型的序列 化是不太可能的.如果你的类型不支持序列化,那么对于你的用户来说,想再要 实现实它是很困难或者根本就不可能的事. 取而代之的是,为你的实际 类型添

[Hadoop]序列化机制

传统的计算机系统通过I/O操作与外界进行交流,Hadoop的I/O由传统的I/O系统发展而来,但又有些不同,Hadoop需要处理P.T级别的数据,所以在org.apache.hadoop.io包中包含了一些面向海量数据处理的基本输入输出工具. 1 序列化 对象的序列化(Serialization)用于将对象编码成一个字节流,以及从字节流中重新构建对象."将一个对象编码成一个字节流"称为序列化该对象(Serializing):相反的处理过程称为反序列化(Deserializing). 序

python序列化数据本地存放

深入# 序列化的概念很简单.内存里面有一个数据结构,你希望将它保存下来,重 用,或者发送给其他人.你会怎么做?嗯, 这取决于你想要怎么保存,怎么重用,发送给谁.很多游戏允许你在退出的时候保存进度,然后你再次启动的时候回到上次退出的地方.(实际上, 很多非游戏程序也会这么干.) 在这个情况下, 一个捕获了当前进度的数据结构需要在你退出的时候保存到磁盘上,接着在你重新启动的时候从磁盘上加载进来.这个数据只会被创建它的程序使用,不会发送到网 络上,也不会被其它程序读取.因此,互操作的问题被限制在保证新

泛型集合序列化成jsonp格式返回

问题描述 先有一个IList<Entity.CyberEntity>result=newList<Entity.CyberEntity>();这样的result的泛型集合,我想把resule序列化成jsonp的返回格式.求高手指点.. 解决方案 解决方案二:///<summary>///将datatable转换为json///</summary>///<paramname="dtb">Dt</param>///&l