erlang term format
v0.1.2
PHP解码器和ERLANG项格式的编码器。
默认情况下,编码器将数字字符串编码为bigint。可以通过将Encoder::ENCODE_DIRECT_STRINGS_AS_BINARY传递给构造函数来更改此行为,因此直接给出的Encoder->encode所有字符串都将被编码为字符串。或始终将数字字符串编码为二进制,将Encoder::ENCODE_STRINGS_AS_BINARY传递给构造函数。
使用作曲家安装此库
composer require obsidian/etf
最小解码示例:
use Obsidian ETF Decoder ;
// the binary erlang term format string (#PID<0.81.0>)
$ binary = base64_decode ( " g2d3DW5vbm9kZUBub2hvc3QAAABRAAAAAAA= " );
$ etf = new Decoder ();
$ pid = $ etf -> decode ( $ binary );
var_dump ( $ pid );
/*
class ObsidianETFPID#6 (4) {
public $node =>
class ObsidianETFAtom#5 (1) {
public $atom =>
string(13) "nonode@nohost"
}
public $id =>
int(81)
public $serial =>
int(0)
public $creation =>
int(0)
}
*/最小编码示例:
use Obsidian ETF Atom ;
use Obsidian ETF Encoder ;
$ value = new Atom ( ' hello ' );
$ etf = new Encoder ();
$ binary = $ etf -> encode ( $ value );
var_dump ( $ binary );
/*
string(8) "w║hello"
*/http://erlang.org/doc/apps/erts/erl_ext_dist.html