体验地址:https://jrainlau.github.io/sp...
项目地址:https://github.com/jrainlau/s...git
一个可以把字符串编码成png图片,或者从png图片中解码出字符串的超轻量级开源库,总代码数甚至不超过100行!github
经过npm
安装npm
npm install sphinx.js
经过<script></script>
标签引入浏览器
<script src="sphinx.js"></script>
值得注意的是,由于
SphinxJS
使用了ES2015的Promise
以及其余很棒的特性,这意味着须要你的浏览器提供支持。不然的话,你可能须要Babel
或者一些别的工具去构建你的代码。工具
SphinxJS
同时支持以AMD
,CommonJS
以及ES6模块
的方式进行引用。编码
定义一个字符串Hello Sphinx!
,咱们将对它进行编码url
let base64URL = new Sphinx().encode('Hello Sphinx!')
而后你将获得一串base64
编码spa
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAJklEQVQYV2P0SM35r8K1heE5owcDY2Zexf8dc1Yw/BdjYGBkQAIA+r4JjQKvLx4AAAAASUVORK5CYII=
到这一步,编码便已经完成了。code
正如你所看到的那样,encode()
方法返回一张图片的base64
编码。对象
定义一串图片的url:
let url = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAJklEQVQYV2P0SM35r8K1heE5owcDY2Zexf8dc1Yw/BdjYGBkQAIA+r4JjQKvLx4AAAAASUVORK5CYII='
而后咱们对其进行解码!
new Sphinx().decode(url) .then((info) => { console.log(info) // Hello Sphinx! })
decode()
方法会返回一个Promise
对象,它包含了从图片中解密出来的字符串信息。
new Sphinx()
可以接收一个用于定义图片类型的配置对象
config {Object} 可选
默认值: {img: 'png'}
new Sphinx({img: 'bmp'})
MIT