boravivek/bencode

Laravel的Bencode序列化工具

2.0.2 2020-09-14 18:50 UTC

This package is not auto-updated.

Last update: 2024-09-29 12:49:12 UTC


README

Latest Version on Packagist Software License Build Status Quality Score Total Downloads

这个库允许开发者对Laravel中的bencoded数据字符串进行编码和解码。有关bencode的更多信息,请参阅维基百科。该格式主要用于.torrent文件规范。

安装

通过Composer

$ composer require bhutanio/bencode

用法

编码数组

<?php

use Bhutanio\Bencode\Bencode;

$data = array(
    "string" => "bar",
    "integer" => 42,
    "array" => array(
        "one",
        "two",
        "three",
    ),
);

echo Bencode::encode($data);

以上代码生成以下字符串:d5:arrayl3:one3:two5:threee7:integeri42e6:string3:bare

解码字符串

<?php

use Bhutanio\Bencode\Bencode;

$string = "d5:arrayl3:one3:two5:threee7:integeri42e6:string3:bare";

print_r(Bencode::decode($string));

以上代码生成以下输出

Array
(
    [array] => Array
        (
            [0] => one
            [1] => two
            [2] => three
        )

    [integer] => 42
    [string] => bar
)

测试

$ cp phpunit.xml.dst phpunit.xml
$ vendor/bin/phpunit -c phpunit.xml

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件