#codec #decoding #text #character #encoding #input #zero-width

bin+lib zw

使用零宽度字符进行文本编码和解码的工具

2 个不稳定版本

0.2.0 2022年8月13日
0.1.0 2021年7月17日

#1055文本处理

MIT 许可证

7KB
131

ZW

使用零宽度字符进行文本编码和解码的工具。

工作原理

首先将主题文本转换为二进制表示(例如:"foo" -> "011001100110111101101111"),然后将每个数字替换为零宽度字符(具体为:U+200BU+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+200BU+200C)。解码只是相同操作流程的逆操作。

示例用法

use zw;
let encoded = zw::encode("Hello");
let decoded = zw::decode(&encoded);
assert_ne!("Hello", &encoded);
assert_eq!("Hello", &decoded);

依赖项

~3MB
~50K SLoC