puppy-lang
v1.0.7
Published
A language of Puppy.
Downloads
12
Readme
fork from miao-lang
狗语言(Puppy-lang)
这是一个可以将人类语言翻译为狗狗语言的程序。
特性
- 可以将任意文本转为由若干“汪”组成的喵语言,且这个过程是可逆的
- 支持网页、微信等常见应用,将喵语言复制到这些应用并发送不会损失信息
安装
npm install puppy-lang
使用方法
import Puppy from 'puppy-lang'
let human_msg = 'Hello 喵星人!'
let puppy_msg = Puppy.encode(human_msg)
console.log(puppy_msg) // 喵喵喵喵。
let msg2 = Puppy.decode(puppy_msg)
console.log(msg2) // Hello 喵星人!
console.log(msg2 === human_msg) // true
API
Puppy.encode(t: string, options?: Human2puppyOptions): string
将普通文本转为喵语言Puppy.decode(t: string): string
将喵语言转为普通文本Puppy.isPuppy(t: string): string
判断输入的文本是否为喵语言
Types
Human2puppyOptions
calls
:string
动物叫声, 如:汪
,咕
,嗷
halfwidthSymbol
:boolean
是否使用半角符号,如,.?!
多种族化
示例:
import Puppy from 'puppy-lang'
let human_msg = 'Hello 鸽子精!'
let gu_msg = Puppy.encode(human_msg, { calls: '咕' })
console.log(gu_msg) // 咕咕咕咕。
国际化
示例:
import Puppy from 'puppy-lang'
let human_msg = 'Hello Guys.'
let msg = Puppy.encode(human_msg, { calls: 'Meow ', halfwidthSymbol: true})
console.log(msg) // Meow Meow Meow .
工作原理
喵语言本质上是一种文本编码、解码算法,其原理为使用零宽字符将原文编码,并隐藏于若干“喵”之中。
其中编码流程如下:
- 生成 Base64 字符与零宽字符的对照表;
- 将原文转为 Base64 编码;
- 使用对照表将 Base64 编码后的内容转为由零宽字符组成的不可见的新编码;
- 根据一定规则,在新编码的最前、最后以及中间位置,插入若干“喵”以及标点符号;
- 完成。
解码过程则是以上流程的逆运算。