|
7 | 7 |
|
8 | 8 | ## Table of Contents
|
9 | 9 |
|
| 10 | +- [Description](#description) |
10 | 11 | - [Usage](#usage)
|
11 |
| -- [Tips](#tips) |
| 12 | + - [Tips](#tips) |
12 | 13 | - [Installation](#installation)
|
13 | 14 |
|
| 15 | +## Description |
| 16 | + |
| 17 | +Now `dtool` supports: |
| 18 | + |
| 19 | +- Hex / UTF-8 string conversion |
| 20 | +- Hex / binary conversion |
| 21 | +- Timestamp / date conversion |
| 22 | +- Number 2/8/10/16 base conversion |
| 23 | +- Hex / base58 conversion |
| 24 | +- Hex / base58check conversion |
| 25 | +- Hex / base64 conversion |
| 26 | +- URL encode / decode |
| 27 | +- Number codec |
| 28 | +- Hash (MD5, SHA-1, SHA-2, SHA-3, RIPEMD, CRC, Blake2b) |
| 29 | +- UTF-8 string / unicode conversion |
| 30 | +- HTML entity encode / decode |
| 31 | +- Regex match |
| 32 | +- Pbkdf2 |
| 33 | +- Case conversion (upper, lower, title, camel, pascal, snake, shouty snake, kebab) |
| 34 | + |
14 | 35 | ## Usage
|
15 |
| -| Sub command | Description | Examples | Since | |
16 |
| -| ------------- | :------------- | ------------ | --- | |
17 |
| -| h2s | Convert hex to UTF-8 string | $ dtool h2s 0x61626364 <br> abcd | v0.1.0 | |
18 |
| -| s2h | Convert UTF-8 string to hex | $ dtool s2h abcd <br> 0x61626364 | v0.1.0 | |
19 |
| -| h2b | Convert hex to binary | $ dtool h2b 0x61626364 > pic.jpg | v0.3.0 | |
20 |
| -| b2h | Convert binary to hex | $ cat pic.jpg | dtool b2h <br> 0x61626364 | v0.3.0 | |
21 |
| -| ts2d | Convert timestamp to date | $ dtool ts2d 10000 <br> 1970-01-01 10:46:40 <br> $ dtool ts2d -z0 10000 <br> 1970-01-01 02:46:40 | v0.1.0 | |
22 |
| -| d2ts | Convert date to timestamp | $ dtool d2ts '1970-01-01 10:46:40' <br> 10000 <br> $ dtool d2ts -z0 '1970-01-01 02:46:40' <br> 10000 <br> $ date -R | dtool d2ts <br> 1577094086 <br> $ date --rfc-3339=seconds | sed 's/ /T/' | dtool d2ts <br> 1577094086 | v0.1.0 | |
23 |
| -| ns | Number system | $ dtool ns 256 <br> 256 <br> 0b100000000 <br> 0o400 <br> 0x100 <br> | v0.1.0 | |
24 |
| -| h2b58 | Convert hex to base58 | $ dtool h2b58 0x0075774f5d9963c021009a58d7d2d8e83771dd6c7a <br> 12dvBhvPEPniQmBmgvj4qpJEodT7P | v0.1.0 | |
25 |
| -| h2b58c | Convert hex to base58 check | $ dtool h2b58c 0x0075774f5d9963c021009a58d7d2d8e83771dd6c7a <br> 1Bi6zFVNtntP5MtDraNrAD7e469ifsQMwF | v0.1.0 | |
26 |
| -| b582h | Convert base58 to hex | $ dtool b582h 12dvBhvPEPniQmBmgvj4qpJEodT7P <br> 0x0075774f5d9963c021009a58d7d2d8e83771dd6c7a | v0.1.0 | |
27 |
| -| b58c2h | Convert base58 check to hex | $ dtool b58c2h 1Bi6zFVNtntP5MtDraNrAD7e469ifsQMwF <br> 0x0075774f5d9963c021009a58d7d2d8e83771dd6c7a | v0.1.0 | |
28 |
| -| h2b64 | Convert hex to base64 | $ dtool h2b64 0x616263 <br> YWJj | v0.1.0 | |
29 |
| -| b642h | Convert base64 to hex | $ dtool b642h YWJj <br> 0x616263 | v0.1.0 | |
30 |
| -| ue | URL encode | $ dtool ue a+b <br> a%2Bb | v0.1.0 | |
31 |
| -| ud | URL decode | $ dtool ud a%2Bb <br> a+b | v0.1.0 | |
32 |
| -| ne | Number encode | $ dtool ne -tu8 1 <br> 0x01 <br> $ dtool ne -tu16 1 <br> 0x0100 <br> $ dtool ne -tu32 1 <br> 0x01000000 <br> $ dtool ne -tu64 1 <br> 0x0100000000000000 <br> $ dtool ne -tu128 1 <br> 0x01000000000000000000000000000000 <br> $ dtool ne -tc 6 <br> 0x18 <br> dtool ne -tc 251 <br> 0xed03 | v0.1.0 | |
33 |
| -| nd | Number decode | $ dtool nd -tu8 0x01 <br> 1 <br> $ dtool nd -tu16 0x0100 <br> 1 <br> $ dtool nd -tu32 0x01000000 <br> 1 <br> $ dtool nd -tu64 0x0100000000000000 <br> 1 <br> $ dtool nd -tu128 0x01000000000000000000000000000000 <br> 1 <br> $ dtool nd -tc 0x18 <br> 6 <br> $ dtool nd -tc 0xed03 <br> 251 | v0.1.0 | |
34 |
| -| hash | Convert hex to MD5 | $ dtool hash -a md5 0x616263 <br> 0x900150983cd24fb0d6963f7d28e17f72 | v0.2.0 | |
35 |
| -| hash | Convert hex to SHA-1 | $ dtool hash -a sha1 0x616263 <br> 0xa9993e364706816aba3e25717850c26c9cd0d89d | v0.2.0 | |
36 |
| -| hash | Convert hex to SHA-2 224 | $ dtool hash -a sha2_224 0x616263 <br> 0x23097d223405d8228642a477bda255b32aadbce4\ <br> bda0b3f7e36c9da7 | v0.2.0 | |
37 |
| -| hash | Convert hex to SHA-2 256 | $ dtool hash -a sha2_256 0x616263 <br> 0xba7816bf8f01cfea414140de5dae2223b00361a3\ <br> 96177a9cb410ff61f20015ad | v0.2.0 | |
38 |
| -| hash | Convert hex to SHA-2 384 | $ dtool hash -a sha2_384 0x616263 <br> 0xcb00753f45a35e8bb5a03d699ac65007272c32ab\ <br> 0eded1631a8b605a43ff5bed8086072ba1e7cc23\ <br> 58baeca134c825a7 | v0.2.0 | |
39 |
| -| hash | Convert hex to SHA-2 512 | $ dtool hash -a sha2_512 0x616263 <br> 0xddaf35a193617abacc417349ae20413112e6fa4e\ <br> 89a97ea20a9eeee64b55d39a2192992a274fc1a8\ <br> 36ba3c23a3feebbd454d4423643ce80e2a9ac94f\ <br> a54ca49f | v0.2.0 | |
40 |
| -| hash | Convert hex to SHA-2 512 <br> truncate 224 | $ dtool hash -a sha2_512_224 0x616263 <br> 0x4634270f707b6a54daae7530460842e20e37ed26\ <br> 5ceee9a43e8924aa | v0.2.0 | |
41 |
| -| hash | Convert hex to SHA-2 512 <br> truncate 256 | $ dtool hash -a sha2_512_256 0x616263 <br> 0x53048e2681941ef99b2e29b76b4c7dabe4c2d0c6\ <br> 34fc6d46e0e2f13107e7af23 | v0.2.0 | |
42 |
| -| hash | Convert hex to SHA-3 224 | $ dtool hash -a sha3_224 0x616263 <br> 0xe642824c3f8cf24ad09234ee7d3c766fc9a3a516\ <br> 8d0c94ad73b46fdf | v0.2.0 | |
43 |
| -| hash | Convert hex to SHA-3 256 | $ dtool hash -a sha3_256 0x616263 <br> 0x3a985da74fe225b2045c172d6bd390bd855f086e\ <br> 3e9d525b46bfe24511431532 | v0.2.0 | |
44 |
| -| hash | Convert hex to SHA-3 384 | $ dtool hash -a sha3_384 0x616263 <br> 0xec01498288516fc926459f58e2c6ad8df9b473cb\ <br> 0fc08c2596da7cf0e49be4b298d88cea927ac7f5\ <br> 39f1edf228376d25 | v0.2.0 | |
45 |
| -| hash | Convert hex to SHA-3 512 | $ dtool hash -a sha3_512 0x616263 <br> 0xb751850b1a57168a5693cd924b6b096e08f62182\ <br> 7444f70d884f5d0240d2712e10e116e9192af3c9\ <br> 1a7ec57647e3934057340b4cf408d5a56592f827\ <br> 4eec53f0 | v0.2.0 | |
46 |
| -| hash | Convert hex to SHA-3 <br> keccak 224 | $ dtool hash -a sha3_k_224 0x616263 <br> 0xc30411768506ebe1c2871b1ee2e87d38df342317\ <br> 300a9b97a95ec6a8 | v0.2.0 | |
47 |
| -| hash | Convert hex to SHA-3 <br> keccak 256 | $ dtool hash -a sha3_k_256 0x616263 <br> 0x4e03657aea45a94fc7d47ba826c8d667c0d1e6e3\ <br> 3a64a036ec44f58fa12d6c45 | v0.2.0 | |
48 |
| -| hash | Convert hex to SHA-3 <br> keccak 384 | $ dtool hash -a sha3_k_384 0x616263 <br> 0xf7df1165f033337be098e7d288ad6a2f74409d7a\ <br> 60b49c36642218de161b1f99f8c681e4afaf31a3\ <br> 4db29fb763e3c28e | v0.2.0 | |
49 |
| -| hash | Convert hex to SHA-3 <br> keccak 512 | $ dtool hash -a sha3_k_512 0x616263 <br> 0x18587dc2ea106b9a1563e32b3312421ca164c7f1\ <br> f07bc922a9c83d77cea3a1e5d0c6991073902537\ <br> 2dc14ac9642629379540c17e2a65b19d77aa511a\ <br> 9d00bb96 | v0.2.0 | |
50 |
| -| hash | Convert hex to RIPEMD-160 | $ dtool hash -a ripemd_160 0x616263 <br> 0x8eb208f7e05d987a9b044a8e98c6b087f15a0bfc | v0.2.0 | |
51 |
| -| s2u | Convert UTF-8 String to <br> unicode | $ dtool s2u 💯 <br> \u1f4af <br> $ dtool s2u 💯 -f html <br> \💯 <br> $ dtool s2u 💯 -f html_d <br> \💯 <br> $ dtool s2u 💯 -f rust <br> \u{1f4af} | v0.3.0 | |
52 |
| -| u2s | Convert unicode to <br> UTF-8 string | $ dtool u2s '\u1f4af' <br> 💯 <br> $ dtool u2s '\💯' <br> 💯 <br> $ dtool u2s '\💯' <br> 💯 <br> $ dtool u2s '\u{1f4af}' <br> 💯 | v0.3.0 | |
53 |
| -| he | HTML entity encode | $ dtool he <b> <br> &lt;b&gt; | v0.4.0 | |
54 |
| -| hd | HTML entity decode | $ dtool hd &lt;b&gt; <br> <b> | v0.4.0 | |
55 |
| -| re | Regex match | $ dtool re -p 'a(.)c' abcadc <br> abc <br> group#1: b <br> adc <br> group#1: d | v0.4.0 | |
| 36 | + |
| 37 | +`dtool` does different works by different sub commands: |
| 38 | + |
| 39 | +|Sub command| Desc | Example | Remark |Since | |
| 40 | +|-----------|---------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|------| |
| 41 | +| h2s |Convert hex to UTF-8 string| $ dtool h2s 0x61626364<br>abcd | |v0.1.0| |
| 42 | +| s2h |Convert UTF-8 string to hex| $ dtool s2h abcd<br>0x61626364 | |v0.1.0| |
| 43 | +| ... |...| ... | |...| |
| 44 | + |
| 45 | +[View full usage document](./docs/Usage.md) |
| 46 | + |
| 47 | +* Besides the sub command `help`, `dtool` provides a new sub command `usage` to show examples: |
| 48 | + |
| 49 | +```bash |
| 50 | +$ dtool usage |
| 51 | +Usage |
| 52 | + |
| 53 | +---------------------------------------------------------------------------------- |
| 54 | + Sub command Desc Example Remark Since |
| 55 | +================================================================================== |
| 56 | + h2s Convert hex to UTF-8 string $ dtool h2s 0x61626364 v0.1.0 |
| 57 | + abcd |
| 58 | +---------------------------------------------------------------------------------- |
| 59 | +... |
| 60 | +``` |
| 61 | + |
| 62 | +* You can search usage with a keyword: |
| 63 | +```bash |
| 64 | +$ dtool usage -s md5 |
| 65 | +------------------------------------------------------------------------------ |
| 66 | + Sub command Desc Example Remark Since |
| 67 | +============================================================================== |
| 68 | + hash Hex to hash $ dtool hash -a md5 0x616263 MD5 v0.2.0 |
| 69 | + 0x900150983cd24fb0d6963f7d28e17f72 |
| 70 | +------------------------------------------------------------------------------ |
| 71 | + |
| 72 | +``` |
56 | 73 |
|
57 | 74 | ## Tips
|
58 | 75 |
|
|
0 commit comments