jordanbrauer / runes
PHP的低级字符串字符分析库。
v0.1.1
2021-02-16 06:26 UTC
Requires
- php: >=7.1 || >=8.0
- ext-intl: *
Requires (Dev)
- ergebnis/composer-normalize: ^2.13
- friendsofphp/php-cs-fixer: ^2.18
- pestphp/pest: ^1.0
- phpunit/phpunit: ^9.3
- symfony/var-dumper: ^5.2
This package is auto-updated.
Last update: 2024-09-06 06:30:55 UTC
README
Runes
PHP的低级字符串字符分析库。
有关PHP尚未处理的Unicode字符的有用信息,请参阅compart unicode文档。
功能
- 逐字符(多字节感知)分析;
- 脚本检测,区分相似字符(见IDN homograph attack);
- 字符编码检测与转换;
- 各种序列化格式;
设置
关于如何在您的项目中设置此存储库以供使用,或作为对此存储库进行贡献的开发者,提供说明。
需求
此库没有太多需求。它们都与主机机器相关。
安装
使用composer和您的自动加载器。
composer require jordanbrauer/runes
对于贡献者
克隆存储库并安装开发工具,以开始运行您的功能测试和错误修复测试。
git clone https://github.com/jordanbrauer/runes.git \ && cd ./runes \ && composer install;
用法
使用此库非常简单。以下是一个快速示例,让我们分析古怪而奇怪熟悉的古北欧鲁尼文中的字符ᛒ
!
use Rune\Rune; $rune = new Rune('ᛒ'); dump($rune->toJson());
将输出有关该符号的以下数据。
{ "bidirectionalClass": "L", "binary": "111000011001101110010010", "blockCode": 35, "bytes": 1, "category": "Lo", "codepoint": "U+16D2", "combiningClass": 0, "decimal": 14785426, "encoding": "UTF-8", "glyph": "ᛒ", "hex": "e19b92", "isMirrored": false, "name": "RUNIC LETTER BERKANAN BEORC BJARKAN B", "script": "Runic", "utf16": "0x16D2", "utf32": "0x000016D2", "utf8": "0xE1 0x9B 0x92", "version": "3.0.0.0" }
动机
Unicode很棒。然而,它可能是程序员的痛苦之源。这个工具旨在通过提供一个低级/通用API来帮助减轻这种痛苦,允许您专注于问题,而不被UTF-8及其亲戚所困扰。
项目名称
最初,这个项目的名字是UTFH8;一个关于UTF-8编码算法和(非常强烈的)英文单词"hate"的讽刺性文字游戏,用数字8代替字母"a-t-e",暗示每个开发者在其职业生涯的某个时刻都会说 - "我恨Unicode"。
现在,该项目已被重命名为Runes,灵感来自Go的rune类型和古北欧鲁尼文——听起来不那么严厉和阴险。