rayne/ecoji

将数据编码(和解码)为表情符号。Ecoji 标准的实现。

1.2.0 2021-02-20 19:00 UTC

This package is auto-updated.

Last update: 2024-08-29 04:31:36 UTC


README

Ecoji 以 1024 个表情符号编码数据。类似于使用表情符号字符集的 base1024。访问 ecoji.io 在浏览器中尝试 Ecoji。

rayne/ecojiEcoji 的 PHP 版本,测试覆盖率 100%。

Latest Stable Version Code Coverage Scrutinizer Code Quality License

内容

安装

composer require rayne/ecoji

编码

use Rayne\Ecoji\Ecoji;

$ecoji = new Ecoji;
$ecoji->encode("Base64 is so 1999, isn\'t there something better?\n");
🏗📩🎦🐇🎛📘🔯🚜💞😽🆖🐊🎱🥁🚄🌱💞😭💮🇵💢🕥🐭🔸🍉🚲🦑🐶💢🕥🔮🔺🍉📸🐮🌼👦🚟🥴📑

解码

use Rayne\Ecoji\Ecoji;

$ecoji = new Ecoji;
$ecoji->decode('🏗📩🎦🐇🎛📘🔯🚜💞😽🆖🐊🎱🥁🚄🌱💞😭💮🇵💢🕥🐭🔸🍉🚲🦑🐶💢🕥🔮🔺🍉📸🐮🌼👦🚟🥴📑');
Base64 is so 1999, isn't there something better?

use Rayne\Ecoji\Ecoji;

$ecoji = new EcojiStream;
$ecoji->encode($sourceStream, $destinationStream);
$ecoji->decode($sourceStream, $destinationStream);

EcojiStream 在配置 wrap 长度之前不会包装编码的流。值为 0 将禁用包装。

use Rayne\Ecoji\Ecoji;

$ecoji = new EcojiStream;
$ecoji->setWrap(80);

命令行界面

命令行界面可以编码和解码文件和流。

./bin/ecoji --help
Usage: ecoji [OPTIONS]... [FILE]

Encode or decode data as Unicode emojis. 😁

Options:
    -d, --decode          Decode data.
    -w, --wrap COLS       Wrap encoded lines after COLS characters (default 76).
                          Use 0 to disable line wrapping.
    -h, --help            Print this message.
    -v, --version         Print version information.

安装 Composer 包 rayne/ecoji 将创建一个符号链接,例如 vendor/bin/ecoji

Docker

启动临时的 Ecoji Docker 容器 来使用命令行界面

docker run -it --rm rayne/ecoji --help

通过容器传输数据

echo -n "Ecoji for Docker" | docker run -i --rm rayne/ecoji
🏣🔉🦐🔼🍉🔹🦒📲🏟🙁🎧🤒💙☕☕☕

通过将其挂载为卷或将内容通过容器传输来编码或解码文件

docker run -it --rm -v /my/message:/file rayne/ecoji /file
cat /my/message | docker run -i --rm rayne/ecoji

Docker 镜像

docker/README.md 解释了如何构建应用程序和所有支持的 PHP 版本的可选开发镜像。此外,便利脚本使用所有支持的 PHP 版本运行单元测试。

测试

该库将测试运行器注册为 composer 脚本。

composer test

所有单元测试也可以在 docker 目录中指定的开发容器中运行。