Andrej Kolčin
0560826414
encode
/decode
for multiple alphabets (#13428 )
...
Based on the discussion in #13419 .
## Description
Reworks the `decode`/`encode` commands by adding/changing the following
bases:
- `base32`
- `base32hex`
- `hex`
- `new-base64`
The `hex` base is compatible with the previous version of `hex` out of
the box (it only adds more flags). `base64` isn't, so the PR adds a new
version and deprecates the old one.
All commands have `string -> binary` signature for decoding and `string
| binary -> string` signature for encoding. A few `base64` encodings,
which are not a part of the
[RFC4648](https://datatracker.ietf.org/doc/html/rfc4648#section-6 ), have
been dropped.
## Example usage
```Nushell
~/fork/nushell> "string" | encode base32 | decode base32 | decode
string
```
```Nushell
~/fork/nushell> "ORSXG5A=" | decode base32
# `decode` always returns a binary value
Length: 4 (0x4) bytes | printable whitespace ascii_other non_ascii
00000000: 74 65 73 74 test
```
## User-Facing Changes
- New commands: `encode/decode base32/base32hex`.
- `encode hex` gets a `--lower` flag.
- `encode/decode base64` deprecated in favor of `encode/decode
new-base64`.
2024-08-23 11:18:51 -05:00
..
2023-12-07 05:46:37 +08:00
2024-08-23 11:18:51 -05:00
2024-05-20 00:35:32 +00:00
2024-08-22 11:38:43 +02:00
2024-08-03 10:09:13 +02:00
2024-02-20 11:08:49 -06:00
2024-04-10 13:31:29 +00:00
2024-05-04 15:56:16 +03:00
2024-08-07 22:20:33 +02:00
2024-08-03 10:09:13 +02:00
2024-08-14 09:47:01 -05:00
2024-08-03 10:09:13 +02:00
2024-02-15 06:55:21 +08:00
2022-11-22 16:58:11 -08:00
2024-07-31 20:37:40 +02:00
2024-05-20 00:35:32 +00:00
2024-06-18 07:19:13 -05:00
2024-05-20 00:35:32 +00:00
2024-01-31 16:52:23 -06:00
2024-05-04 00:53:15 +00:00
2024-05-23 02:05:27 +00:00
2024-05-23 02:05:27 +00:00
2023-04-07 14:09:55 -07:00
2024-07-19 00:21:02 -07:00
2024-06-22 07:41:29 -05:00
2024-08-03 10:09:13 +02:00
2024-07-16 03:49:00 +00:00
2023-11-29 23:21:34 +01:00
2024-07-30 18:55:22 -05:00
2023-09-25 08:00:59 -05:00
2023-09-25 08:00:59 -05:00
2023-04-07 14:09:55 -07:00
2023-10-24 12:48:05 -05:00
2024-01-25 14:16:49 +08:00
2024-07-16 03:54:24 +00:00
2024-06-18 07:19:13 -05:00
2024-05-17 00:03:13 +00:00
2023-11-09 13:51:46 +01:00
2024-05-04 00:53:15 +00:00
2024-07-19 00:21:02 -07:00
2023-09-13 06:35:01 +12:00
2023-04-07 14:09:55 -07:00
2024-06-18 21:37:24 -07:00
2024-05-04 00:53:15 +00:00
2024-04-10 06:27:46 +08:00
2023-05-17 18:55:26 -05:00
2023-05-17 18:55:26 -05:00
2024-03-26 17:50:36 +01:00
2024-06-27 09:46:10 -05:00
2024-05-20 00:35:32 +00:00
2023-11-29 23:21:34 +01:00
2023-09-13 06:35:01 +12:00
2024-06-09 12:15:53 +03:00
2024-07-19 00:22:28 -07:00
2024-05-04 00:53:15 +00:00
2024-05-04 00:53:15 +00:00
2024-04-26 06:33:00 -05:00
2024-04-16 21:52:21 +02:00
2023-07-21 17:32:37 +02:00
2024-08-22 12:02:08 +02:00
2023-11-29 23:21:34 +01:00
2024-03-08 02:18:26 -05:00
2024-05-03 08:36:10 +08:00
2023-05-22 13:54:04 -05:00
2024-04-10 06:27:46 +08:00
2023-07-23 20:14:51 +02:00
2024-06-10 10:43:17 +08:00
2024-02-27 15:05:26 +00:00
2023-05-17 18:55:26 -05:00
2024-05-20 00:35:32 +00:00
2024-06-22 07:41:29 -05:00
2024-07-30 18:55:22 -05:00
2023-08-09 14:12:58 +02:00
2023-09-13 06:35:01 +12:00
2024-08-13 06:34:10 -05:00
2024-02-08 07:22:42 +08:00
2023-11-29 23:21:34 +01:00
2024-08-03 10:09:13 +02:00
2024-08-23 11:18:51 -05:00
2024-05-02 09:36:37 -04:00
2024-05-04 00:53:15 +00:00
2024-08-06 11:36:24 +02:00
2023-07-21 17:32:37 +02:00
2024-05-04 00:53:15 +00:00
2024-05-04 00:53:15 +00:00
2024-08-12 17:29:25 +08:00
2024-05-04 00:53:15 +00:00
2024-07-17 16:02:42 -05:00
2024-04-16 19:08:58 +08:00
2024-02-15 07:49:48 -06:00
2023-11-29 23:21:34 +01:00
2024-04-10 06:27:46 +08:00
2023-07-17 18:43:51 +02:00
2024-08-03 10:09:13 +02:00
2023-07-21 17:32:37 +02:00
2024-02-03 13:23:16 +02:00
2024-07-16 07:16:26 -05:00
2024-07-31 18:19:35 +02:00
2024-07-13 16:54:34 +02:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2024-02-17 10:51:20 +02:00
2023-04-28 13:25:44 +02:00
2024-03-20 22:14:31 +01:00
2023-07-21 17:32:37 +02:00
2024-07-12 02:43:10 +00:00
2024-05-04 00:53:15 +00:00
2024-05-04 00:53:15 +00:00
2024-05-04 00:53:15 +00:00
2024-07-30 18:55:22 -05:00
2024-02-28 17:08:31 -06:00
2023-11-21 20:48:39 -06:00
2022-12-22 16:38:07 -08:00
2024-08-03 10:09:13 +02:00
2023-04-28 13:25:44 +02:00
2024-04-26 16:35:08 +00:00
2024-08-03 10:09:13 +02:00
2024-02-17 20:04:59 +01:00
2024-08-03 10:09:13 +02:00
2024-03-25 16:51:50 -05:00
2023-11-29 23:21:34 +01:00
2023-11-29 23:21:34 +01:00
2024-05-03 08:36:10 +08:00
2024-05-03 08:36:10 +08:00
2024-07-12 02:43:10 +00:00
2024-03-11 19:46:04 +01:00
2023-07-20 19:10:53 -05:00
2023-09-13 06:35:01 +12:00
2024-07-19 04:16:09 +00:00
2024-04-16 19:08:58 +08:00
2023-11-29 23:21:34 +01:00
2024-05-04 00:53:15 +00:00