rayne / ecoji
将数据编码(和解码)为表情符号。Ecoji 标准的实现。
1.2.0
2021-02-20 19:00 UTC
Requires
- php: ^7.2|^8.0
- ext-mbstring: *
Requires (Dev)
- ext-json: *
- friendsofphp/php-cs-fixer: ^2.18
- phpunit/phpunit: ^8.5|^9.5
Suggests
- ext-posix: Needed by the CLI script /bin/ecoji
This package is auto-updated.
Last update: 2024-08-29 04:31:36 UTC
README
Ecoji 以 1024 个表情符号编码数据。类似于使用表情符号字符集的 base1024
。访问 ecoji.io 在浏览器中尝试 Ecoji。
rayne/ecoji
是 Ecoji 的 PHP 版本,测试覆盖率 100%。
内容
安装
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
目录中指定的开发容器中运行。