scream/README.md
2025-02-21 21:07:28 -06:00

76 lines
1.6 KiB
Markdown

# scream
A console application that implements the **Scream Cipher** from [XKCD #3054](https://xkcd.com/3054/).
![Scream Cipher](https://imgs.xkcd.com/comics/scream_cipher.png "Scream Cipher")
The Scream Cipher encodes text by replacing each character with an 'A' modified by diacritic marks. This ensures all messages appear as a string of 'A's while still carrying the original meaning.
## Features
**Encode** text into the Scream Cipher.
**Decode** Scream Cipher text back into ASCII.
**Cross-platform compatibility** when compiled for the target system.
**UTF-8 support** for proper diacritic display.
## Installation
### Prerequisites
- [.NET SDK](https://dotnet.microsoft.com/download) (for building from source)
### Build & Run
Clone the repository and navigate to its directory:
```sh
git clone https://github.com/yourusername/scream.git
cd scream
```
Compile and run:
```sh
dotnet build
dotnet run -- "Hello, world!"
```
Or run directly:
```sh
dotnet run -- "This is a test message."
```
## Usage
### Encoding (Screaming a Message)
To encode a message using the Scream Cipher:
```sh
dotnet run -- "Hello, world!"
```
Example output:
```
ÁÃÃÃÁ ÃÁÃÄÃÃÁ!
```
### Decoding (Quieting a Message)
To decode a Scream Cipher message back to readable text:
```sh
dotnet run -- -q "ÁÃÃÃÁ ÃÁÃÄÃ"
```
Example output:
```
Hello!
```
## License
This project is licensed under the **GPL 3.0**. See [LICENSE](LICENSE) for details.
## Acknowledgments
Inspired by [XKCD #3054](https://xkcd.com/3054/).
Built for fun and screaming efficiency! 🗣️🔠🔥