This commit is contained in:
Jordan Wages 2025-02-21 21:51:12 -06:00
commit 318304bf70

View file

@ -1,7 +1,76 @@
# scream
Console application that implements the Scream Cipher from [XKCD #3054](https://xkcd.com/3054/)
A console application that implements the **Scream Cipher** from [XKCD #3054](https://xkcd.com/3054/).
![](https://imgs.xkcd.com/comics/scream_cipher.png "Scream Cipher")
![Scream Cipher](https://imgs.xkcd.com/comics/scream_cipher.png "Scream Cipher")
It should work across platforms if compiled for that platform.
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! 🗣️🔠🔥