command-encoding

1.1.8 • Public • Published

命令行编码转换器

A node based command line coding tool

安装

$ npm install command-encoding -g

基本用法

编码

你可以使用 ce encode 命令对文件或字符串进行编码,如

$ ce encode -i "这是被编码的字符串"
$ command-encoding encode -i "这是被编码的字符串"

## 不安装情况下使用: npx command-encoding encode -i "这是被编码的字符串"
# 解析当前目录下的 test.png 文件为 base64 编码并添加前缀,输出到当前目录下的 test.txt 文件中
$ ce encode -i ./test.png -w -o ./test.txt
# test.txt 文件中输出 data:image/png;base64,xxxxxxxxxxxx

参数

  • -t--type 编码类型,默认值 base64
  • -i--input 要被编码的字符或文件路径,为可以访问的文件路径时,会读取文件内容输出编码
  • -o--output 编码结果的输出方式,默认值为 console,为默认值时,会直接在控制台打印,否则创建对应路径的文件,在文件中保存输出信息
  • -w--with-mimetype-t 参数为 base64 时,输出增加前缀(Data URL Schema)

解码

你可以使用 ce decode 命令对文件或字符串进行解码,如

$ ce decode -i "6L+Z5piv5rWL6K+VYmFzZTY06L2s5o2i"
$ command-encoding decode -i "6L+Z5piv5rWL6K+VYmFzZTY06L2s5o2i"
# 输出 这是测试base64转换
  • -t--type 解码类型,默认值 base64
  • -i--input 要被解码的字符或文件路径,为可以访问的文件路径时,会读取文件内容输出解码结果
  • -o--output 解码结果的输出方式,默认值为 console,为默认值时,会直接在控制台打印,否则创建对应路径的文件,在文件中保存输出信息

有前缀的 base64 编码,其前缀中 mimetype 对应的文件后缀名必须与 -o 参数中路径的文件后缀一致,其对应关系可通过 ce decode mime-type-list 命令查阅,当解码带前缀的 base64 编码(Data URL Schema)时,-o 参数不支持 console 值,请设置一个符合规则的文件路径。该操作可由 Data URL Schema 直接创建文件

在 node 中使用

暂不支持在浏览器应用中使用

  • 安装
$ npm install command-encoding -S
  • 代码示例
const commandEncoding = require("command-encoding");

commandEncoding.base64.encoding("这是测试编码"); // return: 6L+Z5piv5rWL6K+V57yW56CB
commandEncoding.base64.decoding("6L+Z5piv5rWL6K+V57yW56CB"); // return: Buffer<xxxx>

commandEncoding.base32.encoding("这是测试编码"); // return: 5C7ZTZUYV7TLLC7IV6K6PPEW46QIC

其他

  • ce encode list

获取可编码列表,当前版本支持 base64、base32、base16

  • ce decode list

获取可解码列表,当前版本支持 base64、base32、base16

获取帮助

$ ce --version # 查看工具版本
$ ce --help # 获取帮助
$ ce encode --help # 获取某个命令的帮助

可编码解码类型说明

base64

  • 支持编码、解码

  • 原理

    • 编码原理

      将输入转换为由每字节 8 位二进制(不满 8 位向前面补 0 )拼接成的长字符串,从索引位 0 开始,每次截取 6 位(最后不满 6 位向后面补 0 )4 个一组,因为 6 位二进制数最大可表示的十进制数为 63,没有超过 64,并将其(截取的 6 位二进制数)转换为十进制,以这个十进制为索引,在 base64 编码表 (大写字母A-Z小写字母a-z0-9以及+\)中找出对应字符,拼成新字符串

    • 解码原理

      根据 base64 编码表将编码后的字符串转换为十进制数,再由十进制数转换为二进制数 (不足 6 位在前面补 0),并将转换后的二进制数拼接成长字符串,从索引位 0 开始,每次截取 8 位,并转换为 8 位二进制数,再将其转换为其他编码

    • data url

      格式:data:[<mime type>][charset=<charset>][;base64],<encoded data>

base16

  • 支持编码、解码

  • 原理

    • 编码原理

      同 base64,其每次截取的二进制数为 4,2 个为一组,编码表为 0123456789ABCDEF 对应十进制的 0 到 15

    • 解码原理

      同 base64

base32

  • 支持编码、解码

  • 原理

    • 编码原理

      同 base64,其每次截取的二进制数为 5,8 个为一组,编码表为 ABCDEFGHIJKLMNOPQRSTUVWXYZ234567 对应十进制的 0 到 31

    • 解码原理

      同 base64

Package Sidebar

Install

npm i command-encoding

Weekly Downloads

0

Version

1.1.8

License

MIT

Unpacked Size

26.4 kB

Total Files

20

Last publish

Collaborators

  • kawayilinlin