Skip to main content

A fun bijective text transformer, encoding text into ZWCs.

Project description

Evapyrate

Evapyrate is a fun bijective text transformer. It maps characters into binary, replacing 0 bits with \u200B and 1 bits with \u200C, joining the bytes together with \u200D. Note that the forementioned characters are ZWCs (zero-width characters). In many text spaces, these characters will not be visible and will not appear to take up any space. You can use repr() to view the raw unicode sequences if you require.

The text transformer is bijective, meaning there is a one-to-one correspondence between the original and the transformed text.

I made this module for fun, it advise against using it in a practical context other than to play around with it.

Usage

Import the module:

import evapyrate

Use the evaporate function to encode text:

>>> import evapyrate

>>> evapyrate.evaporate("Hello world!")
'​​‌​​​‍‌‌​​‌​‌‍‌‌​‌‌​​‍‌‌​‌‌​​‍‌‌​‌‌‌‌‍‌​​​​​‍‌‌‌​‌‌‌‍‌‌​‌‌‌‌‍‌‌‌​​‌​‍‌‌​‌‌​​‍‌‌​​‌​​‍‌​​​​‌'

Use the condense function to decode the text to its original form:

>>> import evapyrate

>>> evapyrate.condense("​​‌​​​‍‌‌​​‌​‌‍‌‌​‌‌​​‍‌‌​‌‌​​‍‌‌​‌‌‌‌‍‌​​​​​‍‌‌‌​‌‌‌‍‌‌​‌‌‌‌‍‌‌‌​​‌​‍‌‌​‌‌​​‍‌‌​​‌​​‍‌​​​​‌")
'Hello world!'

Command Line Interface

The CLI commands work in the same way as the module.

eva (evaporate)

$ evapyrate eva foo bar
Evaporated: [‌‌​​‌‌​‍‌‌​‌‌‌‌‍‌‌​‌‌‌‌‍‌​​​​​‍‌‌​​​‌​‍‌‌​​​​‌‍‌‌‌​​‌​]

Use the -c flag to copy to clipboard (assuming pyperclip is installed).

$ evapyrate eva -c foo bar
Evaporated: [‌‌​​‌‌​‍‌‌​‌‌‌‌‍‌‌​‌‌‌‌‍‌​​​​​‍‌‌​​​‌​‍‌‌​​​​‌‍‌‌‌​​‌​]
Copied to clipboard!

con (condense)

$ evapyrate con ‌‌​​‌‌​‍‌‌​‌‌‌‌‍‌‌​‌‌‌‌‍‌​​​​​‍‌‌​​​‌​‍‌‌​​​​‌‍‌‌‌​​‌​
Condensed: foo bar

Note: It is difficult to copy the ZWCs from the evaporate function to use in the condense function. It is recommended that you use the -c flag when using the eva command.

Installation

Install from pip.

pip install evapyrate

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evapyrate-1.0.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evapyrate-1.0.0-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file evapyrate-1.0.0.tar.gz.

File metadata

  • Download URL: evapyrate-1.0.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for evapyrate-1.0.0.tar.gz
Algorithm Hash digest
SHA256 468937defaa05ad789096bf4e3e55b6f1390020a8f7b350579c1c8acee2797c1
MD5 d9b2db8db8826ad426c0ff475a78133a
BLAKE2b-256 bef8559f0c9bf8eabd681968480c1203bbcc2a6d8f1bbd7d82976a2ea5e162b6

See more details on using hashes here.

File details

Details for the file evapyrate-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: evapyrate-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for evapyrate-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9b01d436c7c3184676db4b889cc0d179598af9f8927fbef83a4fa151a60dd5f0
MD5 15de0088910c9cb793487a37eeb1ea90
BLAKE2b-256 fd6441916250f06db435e372bfbfb79650dfd82301c573249670b5be3cb0f03e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page