
Расширение Python codecs с инструментами командной строки для кодирования/декодирования чего угодно

CodExt — это библиотека (совместимая с Python2-3), расширяющая встроенную библиотеку codecs (а именно для добавления новых пользовательских кодировок и символьных отображений) и предоставляющая 120+ новых кодеков, отсюда и её название, образованное от CODecs EXTension. Она также включает режим предположения (guess) для декодирования нескольких слоёв кодирования и инструменты командной строки (CLI) для удобства.```sh
$ pip install codext
Хотите добавить новый кодек? | Хотите добавить новый макрос?
:----------------------------------:|:------------------------------------:
Сначала ознакомьтесь с [документацией](https://python-codext.readthedocs.io/en/latest/howto)<br>Затем [PR](https://github.com/dhondta/python-codext/pulls) свой новый кодек | [PR](https://github.com/dhondta/python-codext/pulls) обновлённую версию [`macros.json`](https://github.com/dhondta/python-codext/blob/main/codext/macros.json)
## :mag: Демонстрации
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/4821/81514bb87e41cfa9d482c93830d7a2e579352988aae9b0934778095692265bde.gif" alt="Использование CodExt из командной строки"></p>
<p align="center"><img src="https://assets.kitploit.com/production/public/readmes/4821/fa4848c3f817288ed56845964755dbb4c4a0098c76af8a6ac6e5c89f849a8d5e.gif" alt="Использование базовых инструментов из командной строки"></p>
<p align="center">Использование утилиты unbase из командной строки</p>
## :computer: Использование (основной CLI-инструмент) <a href="https://twitter.com/intent/tweet?text=CodExt%20-%20Encode%2Fdecode%20anything.%0D%0APython%20tool%20for%20encoding%20and%20decoding%20almost%20anything,%20including%20a%20guess%20feature%20based%20on%20AI.%0D%0Ahttps%3a%2f%2fgithub%2ecom%2fdhondta%2fpython-codext%0D%0A&hashtags=python,encodings,codecs,cryptography,morse,base,stegano,steganography,ctftools"><img src="https://img.shields.io/badge/Tweet%20(codext)--lightgrey?logo=twitter&style=social" alt="Твитнуть про codext" height="20"/></a>```session
$ codext -i test.txt encode dna-1
GTGAGCGGGTATGTGA
$ echo -en "test" | codext encode morse
- . ... -
$ echo -en "test" | codext encode braille
⠞⠑⠎⠞
$ echo -en "test" | codext encode base100
👫👜👪👫
$ echo -en "Test string" | codext encode reverse gnirts tseT
$ echo -en "Test string" | codext encode reverse morse --. -. .. .-. - ... / - ... . -
$ echo -en "Test string" | codext encode reverse morse dna-2 AGTCAGTCAGTGAGAAAGTCAGTGAGAAAGTGAGTGAGAAAGTGAGTCAGTGAGAAAGTCAGAAAGTGAGTGAGTGAGAAAGTTAGAAAGTCAGAAAGTGAGTGAGTGAGAAAGTGAGAAAGTC
$ echo -en "Test string" | codext encode reverse morse dna-2 octal 101107124103101107124103101107124107101107101101101107124103101107124107101107101101101107124107101107124107101107101101101107124107101107124103101107124107101107101101101107124103101107101101101107124107101107124107101107124107101107101101101107124124101107101101101107124103101107101101101107124107101107124107101107124107101107101101101107124107101107101101101107124103
$ echo -en "AGTCAGTCAGTGAGAAAGTCAGTGAGAAAGTGAGTGAGAAAGTGAGTCAGTGAGAAAGTCAGAAAGTGAGTGAGTGAGAAAGTTAGAAAGTCAGAAAGTGAGTGAGTGAGAAAGTGAGAAAGTC" | codext -d dna-2 morse reverse test string
### :twisted_rightwards_arrows: Использование макросов```sh
$ codext add-macro my-encoding-chain gzip base63 lzma base64
$ codext list macros
example-macro, my-encoding-chain
$ echo -en "Test string" | codext encode my-encoding-chain
CQQFAF0AAIAAABuTgySPa7WaZC5Sunt6FS0ko71BdrYE8zHqg91qaqadZIR2LafUzpeYDBalvE///ug4AA==
$ codext remove-macro my-encoding-chain
$ codext list macros
example-macro
baseXX CLI tools) Игра с базовыми кодировками.```session $ echo "Test string !" | base122 *.7!ft9�-f9Â
$ echo "Test string !" | base91 "ONK;WDZM%Z%xE7L
$ echo "Test string !" | base91 | base85 B2P|BJ6A+nO(j|-cttl%
$ echo "Test string !" | base91 | base85 | base36 | base58-flickr QVx5tvgjvCAkXaMSuKoQmCnjeCV1YyyR3WErUUErFf
$ echo "Test string !" | base91 | base85 | base36 | base58-flickr | base58-flickr -d | base36 -d | base85 -d | base91 -d Test string !
````session
$ echo "Test string !" | base91 | base85 | base36 | base58-flickr | unbase -m 3
Test string !
$ echo "Test string !" | base91 | base85 | base36 | base58-flickr | unbase -f Test
Test string !