#codec #emoji #decoding #byte #string #byte-vector #byte-buffer

encoji

基于表情符号的编码和解码。 🔥🔥🔥🚀

2个版本

使用旧的Rust 2015

0.1.1 2020年9月6日
0.1.0 2017年7月5日

#9 in #byte-vector

MIT 协议

13KB
144

Build Status Crate Docs License Downloads

encoji

将字节数据编码为表情符号,并将表情符号字符串解码为字节向量。

base_emoji 的重新实现,包括编码和解码。

示例

let bytes = [0x6e, 0x6e, 0x6e, 0xcd];
let emojis = "🔥🔥🔥🚀";

assert_eq!(encoji::to_string(&bytes), emojis);
assert_eq!(encoji::from_string(&emojis)[..], bytes);

编码(与原始实现相同)

引用 README

使用的表情符号位于 emojis.json。其中有843个表情符号,但转换器一次读取8位序列,因此只映射到前256个。为了保持与其他渲染的一致性,请确保不要更改emojis.json中表情符号的顺序。

解码

字符串根据 unicode-segmentation 包按照 Unicode标准附录#29 分割成grapheme。如果grapheme不是可映射的表情符号,则跳过,否则将其转换为字节。

许可协议

MIT。见包含的 LICENSE 文件。

依赖项

~0.6–1MB
~15K SLoC