< 返回版块

guoxbin 发表于 2019-12-07 12:03

Tags:命令行,工具,encode,decode

开发中经常会遇到一些小需求,比如时间戳和日期的互相转化, URL encode/decode,Base58 encode/decode,2/8/16进制转换, 数字的encode/decode,特殊的比如parity_codec里的Compact类型的encode/decode

这个命令行工具提供了很多子命令(目前有15个,详细列表),可以很方便的实现上面的需求

比如:

进制转换

$ dtool ns 256
256
0b100000000
0o400
0x100

时间戳转日期

$ dtool ts2d 10000
1970-01-01 10:46:40

hex转base58 check

$ dtool h2b58c 0x0075774f5d9963c021009a58d7d2d8e83771dd6c7a
1Bi6zFVNtntP5MtDraNrAD7e469ifsQMwF

URL decode

$ dtool ue a%2Bb
a+b

Compact解码

$ dtool nd -tc 0x18
6

命令之间还支持管道: 比如把字符串转base64,可以通过拼接字符串转hex,hex转base64完成

$ echo -n abc | dtool s2h | dtool h2b64
YWJj

可以直接用cargo 安装:

$ cargo install dtool

工具的github地址是:

https://github.com/guoxbin/dtool

项目开源,可以很方便的扩充子命令,如果你有新的需求,欢迎去github提issue

评论区

写评论
Aloxaf 2019-12-08 00:46

收藏了

原先用的是 radare2 附带的 rax2 工具, 也可以方便地进行一些转换

❯ rax2 -r 256
hex     0x100
octal   0400
unit    256
segment 0000:0100
int32   256
string  "\x01"
binary  0b0000000100000000
float:  0.000000f
double: 0.000000
trits   0t100111

❯ rax2 -t 10000
Thu Jan  1 10:46:40 1970

不过这有种用牛刀杀鸡的感觉, 2333

Mike Tang 2019-12-07 16:45

牛逼!

1 共 2 条评论, 1 页