feat: add base64 encode and decode

This commit is contained in:
nguyenmphu 2023-10-24 20:05:30 +07:00
parent 3ad28fbf2f
commit ad38c67b6a
2 changed files with 58 additions and 0 deletions

View File

@ -0,0 +1,34 @@
# Base64 Encode And Decode
## Usage
``` bash
usage: Base64 [-h] [-d | --decode | --no-decode] text
Base64 encode adn decode string
positional arguments:
text The text to decode or encode
options:
-h, --help show this help message and exit
-d, --decode, --no-decode
Decode text (default: False)
```
## Example
### Encode
```
python3 base64_encode_decode.py "abcxyz 123"
```
Result:
```
YWJjeHl6IDEyMw==
```
### Decode:
```
python3 base64_encode_decode.py -d YWJjeHl6IDEyMw==
```
Result:
```
abcxyz 123
```

View File

@ -0,0 +1,24 @@
import base64
from argparse import ArgumentParser, BooleanOptionalAction
def decode(encoded: str) -> str:
return base64.b64decode(encoded).decode()
def encode(text: str) -> str:
return base64.b64encode(text.encode()).decode()
if __name__ == "__main__":
parser = ArgumentParser(
prog="Base64",
description="Base64 encode adn decode string",
)
parser.add_argument("-d", "--decode", action=BooleanOptionalAction, default=False, type=bool, help="Decode text")
parser.add_argument("text", type=str, help="The text to decode or encode")
args = parser.parse_args()
if args.decode:
print(decode(args.text))
else:
print(encode(args.text))