2 个不稳定版本
0.2.0 | 2022年8月13日 |
---|---|
0.1.0 | 2021年7月17日 |
#1055 在 文本处理
7KB
131 行
ZW
使用零宽度字符进行文本编码和解码的工具。
工作原理
首先将主题文本转换为二进制表示(例如:"foo" -> "011001100110111101101111"),然后将每个数字替换为零宽度字符(具体为:U+200B
和 U+200C
)。解码只是相同操作流程的逆操作。
使用方法
作为模块
use zw;
// ...
let encoded = zw::encode("Hello");
let decoded = zw::decode(&encoded);
作为 CLI 工具
zw [-e|--encode] [-d|--decode] [input]
如果省略了 -e
和 -d
标志,则根据第一个解释字符猜测转换方向。
如果未在参数中提供输入字符串,则从 stdin
读取。
# Shell-ish
zw "Hello" > encoded.txt
cat encoded.txt | zw > decoded.txt
# MacOS clipboard encoding
pbpaste | zw | pbcopy
lib.rs
:
ZW
使用零宽度字符进行文本编码和解码的工具。
工作原理
首先将主题文本转换为二进制表示(例如:"foo" -> "011001100110111101101111"),然后将每个数字替换为零宽度字符(具体为:U+200B
和 U+200C
)。解码只是相同操作流程的逆操作。
示例用法
use zw;
let encoded = zw::encode("Hello");
let decoded = zw::decode(&encoded);
assert_ne!("Hello", &encoded);
assert_eq!("Hello", &decoded);
依赖项
~3MB
~50K SLoC