76 lines
1.6 KiB
Markdown
76 lines
1.6 KiB
Markdown
# scream
|
|
|
|
A console application that implements the **Scream Cipher** from [XKCD #3054](https://xkcd.com/3054/).
|
|
|
|

|
|
|
|
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! 🗣️🔠🔥
|