前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐一个rust写的命令行工具

推荐一个rust写的命令行工具

作者头像
MikeLoveRust
发布2019-12-17 17:06:12
1.3K0
发布2019-12-17 17:06:12
举报

论坛投稿。

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

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

比如:

进制转换

代码语言:javascript
复制
$ dtool ns 256
256
0b100000000
0o400
0x100

时间戳转日期

代码语言:javascript
复制
$ dtool ts2d 10000
1970-01-01 10:46:40

hex转base58 check

代码语言:javascript
复制
$ dtool h2b58c 0x0075774f5d9963c021009a58d7d2d8e83771dd6c7a
1Bi6zFVNtntP5MtDraNrAD7e469ifsQMwF

URL decode

代码语言:javascript
复制
$ dtool ue a%2Bb
a+b

Compact解码

代码语言:javascript
复制
$ dtool nd -tc 0x18
6

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

代码语言:javascript
复制
$ echo -n abc | dtool s2h | dtool h2b64
YWJj

可以直接用cargo 安装:

代码语言:javascript
复制
$ cargo install dtool

工具的github地址是:

https://github.com/guoxbin/dtool

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

---

Aloxaf 2019-12-08 00:46

收藏了

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

代码语言:javascript
复制
❯ 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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust语言学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档